import type { Channel } from "discord-types/general"; interface LastChannelFollowingDestination { channelId: string; guildId: string; } export interface SelectedChannelStore { getChannelId: (guildId?: string, fallbackToDefault?: boolean) => string | undefined; getCurrentlySelectedChannelId: (guildId?: string) => string | undefined; getLastChannelFollowingDestination: () => LastChannelFollowingDestination; getLastSelectedChannelId: (guildId?: string) => string | undefined; getLastSelectedChannels: (guildId: string) => string | undefined; getMostRecentSelectedTextChannelId: (guildId?: string) => string | null; getVoiceChannelId: () => string | null; } interface DebugInfo { guildSizes: Record; loadedGuildIds: string[]; pendingGuildLoads: string[]; } export interface ChannelStore { getAllThreadsForParent(channelId: string): Channel[]; getBasicChannel(channelId: string): Channel | undefined; getChannel(channelId: string): Channel | undefined; getChannelIds(guildId?: string): string[]; getDebugInfo(): DebugInfo; getDMChannelFromUserId(userId: string): Channel | undefined; getDMFromUserId(userId: string): string | undefined; getDMUserIds(): string[]; getGuildChannelsVersion(guildId: string): number; getInitialOverlayState(): Record; getMutableBasicGuildChannelsForGuild(guildId: string): Record; getMutableDMsByUserIds(): Record; getMutableGuildChannelsForGuild(guildId: string): Record; getMutablePrivateChannels(): Record; getPrivateChannelsVersion(): number; getSortedPrivateChannels(): Channel[]; hasChannel(channelId: string): boolean; loadAllGuildAndPrivateChannelsFromDisk(): Record; } export type Channels = SelectedChannelStore & ChannelStore; declare const _default: Channels; export default _default;