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"; 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>; messages: Message[]; addMessage: (v: Message) => void; sidebarOpen: boolean; setSidebarOpen: SetState; getUserById: (userId: string) => Promise; dms: UserProfile[]; setDms: SetState; currentChannel: Channel | null; setCurrentChannel: SetState; }