import type { AdminState } from './admin'; import type { AppsState } from './apps'; import type { Bot } from './bots'; import type { ChannelBookmarksState } from './channel_bookmarks'; import type { ChannelCategoriesState } from './channel_categories'; import type { ChannelsState } from './channels'; import type { CloudState, CloudUsage } from './cloud'; import type { ContentFlaggingState } from './content_flagging'; import type { EmojisState } from './emojis'; import type { FilesState } from './files'; import type { GeneralState } from './general'; import type { GroupsState } from './groups'; import type { HostedCustomerState } from './hosted_customer'; import type { IntegrationsState } from './integrations'; import type { JobsState } from './jobs'; import type { LimitsState } from './limits'; import type { PostsState } from './posts'; import type { PreferenceType } from './preferences'; import type { AdminRequestsStatuses, ChannelsRequestsStatuses, FilesRequestsStatuses, GeneralRequestsStatuses, PostsRequestsStatuses, RolesRequestsStatuses, TeamsRequestsStatuses, UsersRequestsStatuses } from './requests'; import type { Role } from './roles'; import type { ScheduledPostsState } from './schedule_post'; import type { SchemesState } from './schemes'; import type { SearchState } from './search'; import type { RemoteClusterInfo } from './shared_channels'; import type { TeamsState } from './teams'; import type { ThreadsState } from './threads'; import type { Typing } from './typing'; import type { UsersState } from './users'; export type GlobalState = { entities: { general: GeneralState; users: UsersState; limits: LimitsState; teams: TeamsState; channels: ChannelsState; channelBookmarks: ChannelBookmarksState; posts: PostsState; threads: ThreadsState; agents: { agents: Array<{ id: string; displayName: string; username: string; service_id: string; service_type: string; }>; }; bots: { accounts: Record; }; preferences: { myPreferences: { [x: string]: PreferenceType; }; userPreferences: { [userID: string]: { [x: string]: PreferenceType; }; }; }; admin: AdminState; jobs: JobsState; search: SearchState; integrations: IntegrationsState; files: FilesState; emojis: EmojisState; typing: Typing; roles: { roles: { [x: string]: Role; }; pending: Set; }; schemes: SchemesState; groups: GroupsState; channelCategories: ChannelCategoriesState; apps: AppsState; cloud: CloudState; hostedCustomer: HostedCustomerState; usage: CloudUsage; scheduledPosts: ScheduledPostsState; sharedChannels?: { remotes?: Record; remotesByRemoteId?: Record; }; contentFlagging: ContentFlaggingState; }; errors: any[]; requests: { channels: ChannelsRequestsStatuses; general: GeneralRequestsStatuses; posts: PostsRequestsStatuses; teams: TeamsRequestsStatuses; users: UsersRequestsStatuses; admin: AdminRequestsStatuses; files: FilesRequestsStatuses; roles: RolesRequestsStatuses; }; websocket: { connected: boolean; lastConnectAt: number; lastDisconnectAt: number; connectionId: string; serverHostname: string; }; };