import { Dispatch, RefObject, SetStateAction } from "react"; import { StringMap } from "./typeUtils"; import { UserProfile } from "@/hooks/get-user"; import { Channel, Message, Server } from "./types"; import { ClientSettings } from "./settings"; import { MessageStore } from "@/hooks/use-messages"; export type SetState = Dispatch>; export default interface App { node: RefObject; profile: UserProfile | null; server: Server | undefined; setServer: SetState; clientSettings: ClientSettings; setClientSettings: SetState; servers: StringMap; setServers: SetState>; profiles: StringMap; setProfiles: SetState>; privateMessages: MessageStore; sidebarOpen: boolean; setSidebarOpen: SetState; getUserById: (userId: string) => Promise; dms: UserProfile[]; setDms: SetState; currentChannel: Channel | null; setCurrentChannel: SetState; }