UNPKG

mattermost-redux

Version:

Common code (API client, Redux stores, logic, utility functions) for building a Mattermost client

923 lines 51.2 kB
import websocket from './websocket'; declare const _default: { entities: import("redux").Reducer<{ general: { config: any; license: any; customProfileAttributes: import("@mattermost/types/utilities").IDMappedObjects<import("@mattermost/types/properties").UserPropertyField>; serverVersion: any; firstAdminVisitMarketplaceStatus: any; firstAdminCompleteSetup: any; cwsAvailability: import("./entities/general").CWSAvailabilityState; }; agents: { agents: import("@mattermost/types/agents").Agent[]; agentsStatus: { available: boolean; reason?: string; }; llmServices: import("@mattermost/types/agents").LLMService[]; }; users: { currentUserId: any; mySessions: any[]; myAudits: any[]; myUserAccessTokens: Record<string, import("@mattermost/types/users").UserAccessToken>; profiles: import("@mattermost/types/utilities").IDMappedObjects<import("@mattermost/types/users").UserProfile>; profilesInTeam: {}; profilesNotInTeam: {}; profilesInChannel: {}; profilesNotInChannel: {}; profilesInGroup: import("@mattermost/types/utilities").RelationOneToManyUnique<import("@mattermost/types/teams").Team, import("@mattermost/types/users").UserProfile>; profilesNotInGroup: import("@mattermost/types/utilities").RelationOneToManyUnique<import("@mattermost/types/teams").Team, import("@mattermost/types/users").UserProfile>; dndEndTimes: any; statuses: any; isManualStatus: any; stats: any; filteredStats: any; lastActivity: any; }; limits: { serverLimits: any; }; teams: { currentTeamId: any; teams: any; myMembers: import("@mattermost/types/utilities").RelationOneToOne<import("@mattermost/types/teams").Team, import("@mattermost/types/teams").TeamMembership>; membersInTeam: import("@mattermost/types/utilities").RelationOneToOne<import("@mattermost/types/teams").Team, import("@mattermost/types/utilities").RelationOneToOne<import("@mattermost/types/users").UserProfile, import("@mattermost/types/teams").TeamMembership>>; stats: any; groupsAssociatedToTeam: import("@mattermost/types/utilities").RelationOneToOne<import("@mattermost/types/teams").Team, { ids: string[]; totalCount: number; }>; totalCount: any; contentFlaggingStatus: {}; }; channels: { currentChannelId: any; channels: import("@mattermost/types/utilities").IDMappedObjects<import("@mattermost/types/channels").Channel>; channelsInTeam: import("@mattermost/types/utilities").RelationOneToManyUnique<import("@mattermost/types/teams").Team, import("@mattermost/types/channels").Channel>; myMembers: any; roles: import("@mattermost/types/utilities").RelationOneToOne<import("@mattermost/types/channels").Channel, Set<string>>; membersInChannel: any; stats: import("@mattermost/types/utilities").RelationOneToOne<import("@mattermost/types/channels").Channel, import("@mattermost/types/channels").ChannelStats>; groupsAssociatedToChannel: any; totalCount: any; manuallyUnread: import("@mattermost/types/utilities").RelationOneToOne<import("@mattermost/types/channels").Channel, boolean>; channelModerations: any; channelMemberCountsByGroup: any; messageCounts: import("@mattermost/types/utilities").RelationOneToOne<import("@mattermost/types/channels").Channel, import("@mattermost/types/channels").ChannelMessageCount>; channelsMemberCount: any; restrictedDMs: import("@mattermost/types/utilities").RelationOneToOne<import("@mattermost/types/channels").Channel, boolean>; }; posts: Partial<import("@mattermost/types/posts").PostsState> | { posts: any; postsReplies: { [x: string]: number; }; pendingPostIds: string[]; postsInChannel: Record<string, import("@mattermost/types/posts").PostOrderBlock[]>; postsInThread: import("@mattermost/types/utilities").RelationOneToMany<import("@mattermost/types/posts").Post, import("@mattermost/types/posts").Post>; postEditHistory: any; currentFocusedPostId: any; reactions: import("@mattermost/types/utilities").RelationOneToOne<import("@mattermost/types/posts").Post, Record<string, import("@mattermost/types/reactions").Reaction>>; openGraph: any; messagesHistory: Partial<import("@mattermost/types/posts").MessageHistory> | { messages: string[] | undefined; index: Record<string, number>; }; acknowledgements: any; limitedViews: { channels: Record<import("@mattermost/types/channels").Channel["id"], number>; threads: Record<import("@mattermost/types/posts").Post["root_id"], number>; }; }; files: { files: any; filesFromSearch: any; fileIdsByPostId: any; filePublicLink: any; rejectedFiles: Set<unknown>; }; preferences: { myPreferences: any; userPreferences: { [key: string]: import("@mattermost/types/preferences").PreferencesType; }; }; recaps: import("./entities/recaps").RecapsState; typing: import("@mattermost/types/typing").Typing; integrations: { incomingHooks: import("@mattermost/types/utilities").IDMappedObjects<import("@mattermost/types/integrations").IncomingWebhook>; incomingHooksTotalCount: any; outgoingHooks: import("@mattermost/types/utilities").IDMappedObjects<import("@mattermost/types/integrations").OutgoingWebhook>; commands: import("@mattermost/types/utilities").IDMappedObjects<import("@mattermost/types/integrations").Command>; oauthApps: import("@mattermost/types/utilities").IDMappedObjects<import("@mattermost/types/integrations").OAuthApp>; appsOAuthAppIDs: any; appsBotIDs: any; outgoingOAuthConnections: import("@mattermost/types/utilities").IDMappedObjects<import("@mattermost/types/integrations").OutgoingOAuthConnection>; systemCommands: import("@mattermost/types/utilities").IDMappedObjects<import("@mattermost/types/integrations").Command>; dialogArguments: any; dialogTriggerId: any; dialog: any; }; emojis: { customEmoji: import("@mattermost/types/utilities").IDMappedObjects<import("@mattermost/types/emojis").CustomEmoji>; nonExistentEmoji: Set<string>; }; admin: { logs: any; plainLogs: any; audits: Record<string, import("@mattermost/types/audits").Audit>; config: any; environmentConfig: any; complianceReports: Record<string, import("@mattermost/types/compliance").Compliance>; clusterInfo: any; samlCertStatus: any; analytics: import("@mattermost/types/admin").AnalyticsState; teamAnalytics: import("@mattermost/types/utilities").RelationOneToOne<import("@mattermost/types/teams").Team, import("@mattermost/types/admin").AnalyticsState>; userAccessTokensByUser: import("@mattermost/types/utilities").RelationOneToOne<import("@mattermost/types/users").UserProfile, Record<string, import("@mattermost/types/users").UserAccessToken>>; userAccessTokens: any; plugins: Record<string, import("@mattermost/types/plugins").PluginRedux>; pluginStatuses: any; ldapGroups: any; ldapGroupsCount: any; samlMetadataResponse: any; dataRetentionCustomPolicies: import("@mattermost/types/utilities").IDMappedObjects<import("@mattermost/types/data_retention").DataRetentionCustomPolicy>; dataRetentionCustomPoliciesCount: any; prevTrialLicense: any; accessControlPolicies: import("@mattermost/types/utilities").IDMappedObjects<import("@mattermost/types/access_control").AccessControlPolicy>; channelsForAccessControlPolicy: any; }; jobs: { jobs: import("@mattermost/types/utilities").IDMappedObjects<import("@mattermost/types/jobs").Job>; jobsByTypeList: import("@mattermost/types/jobs").JobsByType; }; search: { flagged: any; pinned: Record<string, string[]>; results: any; fileResults: any; matches: any; current: any; isSearchingTerm: boolean; isSearchGettingMore: any; isLimitedResults: number; truncationInfo: { posts: number; files: number; }; }; roles: { roles: Record<string, import("@mattermost/types/roles").Role>; pending: any; }; schemes: { schemes: { [x: string]: import("@mattermost/types/schemes").Scheme; }; }; groups: { syncables: Record<string, import("@mattermost/types/groups").GroupSyncablesState>; groups: Record<string, import("@mattermost/types/groups").Group>; stats: any; myGroups: string[]; }; bots: { accounts: Record<string, import("@mattermost/types/bots").Bot>; }; threads: import("@mattermost/types/threads").ThreadsState; channelCategories: { byId: import("@mattermost/types/utilities").IDMappedObjects<import("@mattermost/types/channel_categories").ChannelCategory>; orderByTeam: import("@mattermost/types/utilities").RelationOneToOne<import("@mattermost/types/teams").Team, string[]>; }; apps: { main: { bindings: import("@mattermost/types/apps").AppBinding[]; forms: import("@mattermost/types/apps").AppCommandFormMap; }; rhs: { bindings: import("@mattermost/types/apps").AppBinding[]; forms: import("@mattermost/types/apps").AppCommandFormMap; }; pluginEnabled: boolean; }; cloud: { customer: any; subscription: any; products: Record<string, import("@mattermost/types/cloud").Product> | null; invoices: Record<string, import("@mattermost/types/cloud").Invoice> | null; limits: { limits: any; limitsLoaded: boolean; }; errors: import("./entities/cloud").ErrorsReducer | { subscription: boolean; products?: true; customer?: true; invoices?: true; limits?: true; trueUpReview?: true; } | { products: boolean; subscription?: true; customer?: true; invoices?: true; limits?: true; trueUpReview?: true; } | { customer: boolean; subscription?: true; products?: true; invoices?: true; limits?: true; trueUpReview?: true; } | { invoices: boolean; subscription?: true; products?: true; customer?: true; limits?: true; trueUpReview?: true; } | { limits: boolean; subscription?: true; products?: true; customer?: true; invoices?: true; trueUpReview?: true; }; }; usage: { messages: { history: any; historyLoaded: boolean; }; files: { totalStorage: number; totalStorageLoaded: boolean; }; teams: import("@mattermost/types/cloud").TeamsUsage; } | { files: { totalStorage: any; totalStorageLoaded: boolean; }; messages: { history: number; historyLoaded: boolean; }; teams: import("@mattermost/types/cloud").TeamsUsage; } | { boards: { cards: any; cardsLoaded: boolean; }; files: { totalStorage: number; totalStorageLoaded: boolean; }; messages: { history: number; historyLoaded: boolean; }; teams: import("@mattermost/types/cloud").TeamsUsage; } | { teams: any; files: { totalStorage: number; totalStorageLoaded: boolean; }; messages: { history: number; historyLoaded: boolean; }; }; hostedCustomer: { products: import("./entities/hosted_customer").SelfHostedProducts; errors: import("./entities/hosted_customer").ErrorsReducer | { products: boolean; invoices?: true; }; }; channelBookmarks: { byChannelId: { [channelId: string]: import("@mattermost/types/utilities").IDMappedObjects<import("@mattermost/types/channel_bookmarks").ChannelBookmark>; }; }; scheduledPosts: { byId: { [scheduledPostId: string]: import("@mattermost/types/schedule_post").ScheduledPost | undefined; }; byTeamId: { [teamId: string]: string[]; }; byChannelOrThreadId: { [channelId: string]: string[]; }; errorsByTeamId: { [teamId: string]: string[]; }; }; sharedChannels: { remotes: Record<string, import("@mattermost/types/shared_channels").RemoteClusterInfo[]>; remotesByRemoteId: Record<string, import("@mattermost/types/shared_channels").RemoteClusterInfo>; }; contentFlagging: { settings: any; fields: any; postValues: { [key: string]: import("@mattermost/types/properties").PropertyValue<unknown>[]; }; flaggedPosts: { [key: string]: import("@mattermost/types/posts").Post; }; channels: { [key: string]: import("@mattermost/types/channels").Channel; }; teams: { [key: string]: import("@mattermost/types/teams").Team; }; }; }, import("redux").AnyAction, Partial<{ general: { config: any; license: any; customProfileAttributes: import("@mattermost/types/utilities").IDMappedObjects<import("@mattermost/types/properties").UserPropertyField>; serverVersion: any; firstAdminVisitMarketplaceStatus: any; firstAdminCompleteSetup: any; cwsAvailability: import("./entities/general").CWSAvailabilityState; } | Partial<{ config: Partial<import("@mattermost/types/config").ClientConfig> | undefined; license: import("@mattermost/types/config").ClientLicense | undefined; customProfileAttributes: import("@mattermost/types/utilities").IDMappedObjects<import("@mattermost/types/properties").UserPropertyField> | undefined; serverVersion: string | undefined; firstAdminVisitMarketplaceStatus: boolean | undefined; firstAdminCompleteSetup: boolean | undefined; cwsAvailability: import("./entities/general").CWSAvailabilityState | undefined; }> | undefined; agents: { agents: import("@mattermost/types/agents").Agent[]; agentsStatus: { available: boolean; reason?: string; }; llmServices: import("@mattermost/types/agents").LLMService[]; } | Partial<{ agents: import("@mattermost/types/agents").Agent[] | undefined; agentsStatus: { available: boolean; reason?: string; } | undefined; llmServices: import("@mattermost/types/agents").LLMService[] | undefined; }> | undefined; users: { currentUserId: any; mySessions: any[]; myAudits: any[]; myUserAccessTokens: Record<string, import("@mattermost/types/users").UserAccessToken>; profiles: import("@mattermost/types/utilities").IDMappedObjects<import("@mattermost/types/users").UserProfile>; profilesInTeam: {}; profilesNotInTeam: {}; profilesInChannel: {}; profilesNotInChannel: {}; profilesInGroup: import("@mattermost/types/utilities").RelationOneToManyUnique<import("@mattermost/types/teams").Team, import("@mattermost/types/users").UserProfile>; profilesNotInGroup: import("@mattermost/types/utilities").RelationOneToManyUnique<import("@mattermost/types/teams").Team, import("@mattermost/types/users").UserProfile>; dndEndTimes: any; statuses: any; isManualStatus: any; stats: any; filteredStats: any; lastActivity: any; } | Partial<{ currentUserId: string | undefined; mySessions: import("@mattermost/types/sessions").Session[] | undefined; myAudits: import("@mattermost/types/audits").Audit[] | undefined; myUserAccessTokens: Record<string, import("@mattermost/types/users").UserAccessToken> | undefined; profiles: import("@mattermost/types/utilities").IDMappedObjects<import("@mattermost/types/users").UserProfile> | undefined; profilesInTeam: import("@mattermost/types/utilities").RelationOneToManyUnique<import("@mattermost/types/teams").Team, import("@mattermost/types/users").UserProfile> | undefined; profilesNotInTeam: import("@mattermost/types/utilities").RelationOneToManyUnique<import("@mattermost/types/teams").Team, import("@mattermost/types/users").UserProfile> | undefined; profilesInChannel: import("@mattermost/types/utilities").RelationOneToManyUnique<import("@mattermost/types/channels").Channel, import("@mattermost/types/users").UserProfile> | undefined; profilesNotInChannel: import("@mattermost/types/utilities").RelationOneToManyUnique<import("@mattermost/types/channels").Channel, import("@mattermost/types/users").UserProfile> | undefined; profilesInGroup: import("@mattermost/types/utilities").RelationOneToManyUnique<import("@mattermost/types/groups").Group, import("@mattermost/types/users").UserProfile> | undefined; profilesNotInGroup: import("@mattermost/types/utilities").RelationOneToManyUnique<import("@mattermost/types/groups").Group, import("@mattermost/types/users").UserProfile> | undefined; dndEndTimes: import("@mattermost/types/utilities").RelationOneToOne<import("@mattermost/types/users").UserProfile, number> | undefined; statuses: import("@mattermost/types/utilities").RelationOneToOne<import("@mattermost/types/users").UserProfile, string> | undefined; isManualStatus: import("@mattermost/types/utilities").RelationOneToOne<import("@mattermost/types/users").UserProfile, boolean> | undefined; stats: Partial<import("@mattermost/types/users").UsersStats> | undefined; filteredStats: Partial<import("@mattermost/types/users").UsersStats> | undefined; lastActivity: import("@mattermost/types/utilities").RelationOneToOne<import("@mattermost/types/users").UserProfile, number> | undefined; }> | undefined; limits: { serverLimits: any; } | Partial<{ serverLimits: {} | undefined; }> | undefined; teams: { currentTeamId: any; teams: any; myMembers: import("@mattermost/types/utilities").RelationOneToOne<import("@mattermost/types/teams").Team, import("@mattermost/types/teams").TeamMembership>; membersInTeam: import("@mattermost/types/utilities").RelationOneToOne<import("@mattermost/types/teams").Team, import("@mattermost/types/utilities").RelationOneToOne<import("@mattermost/types/users").UserProfile, import("@mattermost/types/teams").TeamMembership>>; stats: any; groupsAssociatedToTeam: import("@mattermost/types/utilities").RelationOneToOne<import("@mattermost/types/teams").Team, { ids: string[]; totalCount: number; }>; totalCount: any; contentFlaggingStatus: {}; } | Partial<{ currentTeamId: string | undefined; teams: import("@mattermost/types/utilities").IDMappedObjects<import("@mattermost/types/teams").Team> | undefined; myMembers: import("@mattermost/types/utilities").RelationOneToOne<import("@mattermost/types/teams").Team, import("@mattermost/types/teams").TeamMembership> | undefined; membersInTeam: import("@mattermost/types/utilities").RelationOneToOne<import("@mattermost/types/teams").Team, import("@mattermost/types/utilities").RelationOneToOne<import("@mattermost/types/users").UserProfile, import("@mattermost/types/teams").TeamMembership>> | undefined; stats: any; groupsAssociatedToTeam: import("@mattermost/types/utilities").RelationOneToOne<import("@mattermost/types/teams").Team, { ids: string[]; totalCount: number; }> | undefined; totalCount: number | undefined; contentFlaggingStatus: {} | undefined; }> | undefined; channels: { currentChannelId: any; channels: import("@mattermost/types/utilities").IDMappedObjects<import("@mattermost/types/channels").Channel>; channelsInTeam: import("@mattermost/types/utilities").RelationOneToManyUnique<import("@mattermost/types/teams").Team, import("@mattermost/types/channels").Channel>; myMembers: any; roles: import("@mattermost/types/utilities").RelationOneToOne<import("@mattermost/types/channels").Channel, Set<string>>; membersInChannel: any; stats: import("@mattermost/types/utilities").RelationOneToOne<import("@mattermost/types/channels").Channel, import("@mattermost/types/channels").ChannelStats>; groupsAssociatedToChannel: any; totalCount: any; manuallyUnread: import("@mattermost/types/utilities").RelationOneToOne<import("@mattermost/types/channels").Channel, boolean>; channelModerations: any; channelMemberCountsByGroup: any; messageCounts: import("@mattermost/types/utilities").RelationOneToOne<import("@mattermost/types/channels").Channel, import("@mattermost/types/channels").ChannelMessageCount>; channelsMemberCount: any; restrictedDMs: import("@mattermost/types/utilities").RelationOneToOne<import("@mattermost/types/channels").Channel, boolean>; } | Partial<{ currentChannelId: string | undefined; channels: import("@mattermost/types/utilities").IDMappedObjects<import("@mattermost/types/channels").Channel> | undefined; channelsInTeam: import("@mattermost/types/utilities").RelationOneToManyUnique<import("@mattermost/types/teams").Team, import("@mattermost/types/channels").Channel> | undefined; myMembers: import("@mattermost/types/utilities").RelationOneToOne<import("@mattermost/types/channels").Channel, import("@mattermost/types/channels").ChannelMembership> | undefined; roles: import("@mattermost/types/utilities").RelationOneToOne<import("@mattermost/types/channels").Channel, Set<string>> | undefined; membersInChannel: import("@mattermost/types/utilities").RelationOneToOne<import("@mattermost/types/channels").Channel, Record<string, import("@mattermost/types/channels").ChannelMembership>> | undefined; stats: import("@mattermost/types/utilities").RelationOneToOne<import("@mattermost/types/channels").Channel, import("@mattermost/types/channels").ChannelStats> | undefined; groupsAssociatedToChannel: any; totalCount: number | undefined; manuallyUnread: import("@mattermost/types/utilities").RelationOneToOne<import("@mattermost/types/channels").Channel, boolean> | undefined; channelModerations: any; channelMemberCountsByGroup: any; messageCounts: import("@mattermost/types/utilities").RelationOneToOne<import("@mattermost/types/channels").Channel, import("@mattermost/types/channels").ChannelMessageCount> | undefined; channelsMemberCount: Record<string, number> | undefined; restrictedDMs: import("@mattermost/types/utilities").RelationOneToOne<import("@mattermost/types/channels").Channel, boolean> | undefined; }> | undefined; posts: Partial<import("@mattermost/types/posts").PostsState> | undefined; files: { files: any; filesFromSearch: any; fileIdsByPostId: any; filePublicLink: any; rejectedFiles: Set<unknown>; } | Partial<{ files: Record<string, import("@mattermost/types/files").FileInfo> | undefined; filesFromSearch: Record<string, import("@mattermost/types/files").FileSearchResultItem> | undefined; fileIdsByPostId: Record<string, string[]> | undefined; filePublicLink: { link: string; } | undefined; rejectedFiles: Set<string> | undefined; }> | undefined; preferences: { myPreferences: any; userPreferences: { [key: string]: import("@mattermost/types/preferences").PreferencesType; }; } | Partial<{ myPreferences: Record<string, import("@mattermost/types/preferences").PreferenceType> | undefined; userPreferences: Record<string, import("@mattermost/types/preferences").PreferencesType> | undefined; }> | undefined; recaps: import("./entities/recaps").RecapsState | undefined; typing: import("@mattermost/types/typing").Typing | undefined; integrations: { incomingHooks: import("@mattermost/types/utilities").IDMappedObjects<import("@mattermost/types/integrations").IncomingWebhook>; incomingHooksTotalCount: any; outgoingHooks: import("@mattermost/types/utilities").IDMappedObjects<import("@mattermost/types/integrations").OutgoingWebhook>; commands: import("@mattermost/types/utilities").IDMappedObjects<import("@mattermost/types/integrations").Command>; oauthApps: import("@mattermost/types/utilities").IDMappedObjects<import("@mattermost/types/integrations").OAuthApp>; appsOAuthAppIDs: any; appsBotIDs: any; outgoingOAuthConnections: import("@mattermost/types/utilities").IDMappedObjects<import("@mattermost/types/integrations").OutgoingOAuthConnection>; systemCommands: import("@mattermost/types/utilities").IDMappedObjects<import("@mattermost/types/integrations").Command>; dialogArguments: any; dialogTriggerId: any; dialog: any; } | Partial<{ incomingHooks: import("@mattermost/types/utilities").IDMappedObjects<import("@mattermost/types/integrations").IncomingWebhook> | undefined; incomingHooksTotalCount: number | undefined; outgoingHooks: import("@mattermost/types/utilities").IDMappedObjects<import("@mattermost/types/integrations").OutgoingWebhook> | undefined; commands: import("@mattermost/types/utilities").IDMappedObjects<import("@mattermost/types/integrations").Command> | undefined; oauthApps: import("@mattermost/types/utilities").IDMappedObjects<import("@mattermost/types/integrations").OAuthApp> | undefined; appsOAuthAppIDs: string[] | undefined; appsBotIDs: string[] | undefined; outgoingOAuthConnections: import("@mattermost/types/utilities").IDMappedObjects<import("@mattermost/types/integrations").OutgoingOAuthConnection> | undefined; systemCommands: import("@mattermost/types/utilities").IDMappedObjects<import("@mattermost/types/integrations").Command> | undefined; dialogArguments: import("@mattermost/types/integrations").DialogArgs | null | undefined; dialogTriggerId: string | undefined; dialog: string | undefined; }> | undefined; emojis: { customEmoji: import("@mattermost/types/utilities").IDMappedObjects<import("@mattermost/types/emojis").CustomEmoji>; nonExistentEmoji: Set<string>; } | Partial<{ customEmoji: import("@mattermost/types/utilities").IDMappedObjects<import("@mattermost/types/emojis").CustomEmoji> | undefined; nonExistentEmoji: Set<string> | undefined; }> | undefined; admin: { logs: any; plainLogs: any; audits: Record<string, import("@mattermost/types/audits").Audit>; config: any; environmentConfig: any; complianceReports: Record<string, import("@mattermost/types/compliance").Compliance>; clusterInfo: any; samlCertStatus: any; analytics: import("@mattermost/types/admin").AnalyticsState; teamAnalytics: import("@mattermost/types/utilities").RelationOneToOne<import("@mattermost/types/teams").Team, import("@mattermost/types/admin").AnalyticsState>; userAccessTokensByUser: import("@mattermost/types/utilities").RelationOneToOne<import("@mattermost/types/users").UserProfile, Record<string, import("@mattermost/types/users").UserAccessToken>>; userAccessTokens: any; plugins: Record<string, import("@mattermost/types/plugins").PluginRedux>; pluginStatuses: any; ldapGroups: any; ldapGroupsCount: any; samlMetadataResponse: any; dataRetentionCustomPolicies: import("@mattermost/types/utilities").IDMappedObjects<import("@mattermost/types/data_retention").DataRetentionCustomPolicy>; dataRetentionCustomPoliciesCount: any; prevTrialLicense: any; accessControlPolicies: import("@mattermost/types/utilities").IDMappedObjects<import("@mattermost/types/access_control").AccessControlPolicy>; channelsForAccessControlPolicy: any; } | Partial<{ logs: string[] | undefined; plainLogs: string[] | undefined; audits: Record<string, import("@mattermost/types/audits").Audit> | undefined; config: Partial<import("@mattermost/types/config").AdminConfig> | undefined; environmentConfig: Partial<import("@mattermost/types/config").EnvironmentConfig> | undefined; complianceReports: Record<string, import("@mattermost/types/compliance").Compliance> | undefined; clusterInfo: import("@mattermost/types/admin").ClusterInfo[] | undefined; samlCertStatus: Partial<import("@mattermost/types/saml").SamlCertificateStatus> | undefined; analytics: import("@mattermost/types/admin").AnalyticsState | undefined; teamAnalytics: import("@mattermost/types/utilities").RelationOneToOne<import("@mattermost/types/teams").Team, import("@mattermost/types/admin").AnalyticsState> | undefined; userAccessTokensByUser: import("@mattermost/types/utilities").RelationOneToOne<import("@mattermost/types/users").UserProfile, Record<string, import("@mattermost/types/users").UserAccessToken>> | undefined; userAccessTokens: Record<string, import("@mattermost/types/users").UserAccessToken> | undefined; plugins: Record<string, import("@mattermost/types/plugins").PluginRedux> | undefined; pluginStatuses: Record<string, import("@mattermost/types/plugins").PluginStatusRedux> | undefined; ldapGroups: Record<string, import("@mattermost/types/groups").MixedUnlinkedGroupRedux> | undefined; ldapGroupsCount: number | undefined; samlMetadataResponse: Partial<import("@mattermost/types/saml").SamlMetadataResponse> | undefined; dataRetentionCustomPolicies: import("@mattermost/types/utilities").IDMappedObjects<import("@mattermost/types/data_retention").DataRetentionCustomPolicy> | undefined; dataRetentionCustomPoliciesCount: number | undefined; prevTrialLicense: Partial<import("@mattermost/types/config").AdminConfig> | undefined; accessControlPolicies: import("@mattermost/types/utilities").IDMappedObjects<import("@mattermost/types/access_control").AccessControlPolicy> | undefined; channelsForAccessControlPolicy: Record<string, string[]> | undefined; }> | undefined; jobs: { jobs: import("@mattermost/types/utilities").IDMappedObjects<import("@mattermost/types/jobs").Job>; jobsByTypeList: import("@mattermost/types/jobs").JobsByType; } | Partial<{ jobs: import("@mattermost/types/utilities").IDMappedObjects<import("@mattermost/types/jobs").Job> | undefined; jobsByTypeList: import("@mattermost/types/jobs").JobsByType | undefined; }> | undefined; search: { flagged: any; pinned: Record<string, string[]>; results: any; fileResults: any; matches: any; current: any; isSearchingTerm: boolean; isSearchGettingMore: any; isLimitedResults: number; truncationInfo: { posts: number; files: number; }; } | Partial<{ flagged: string[] | undefined; pinned: Record<string, string[]> | undefined; results: string[] | undefined; fileResults: string[] | undefined; matches: Record<string, string[]> | undefined; current: any; isSearchingTerm: boolean | undefined; isSearchGettingMore: boolean | undefined; isLimitedResults: number | undefined; truncationInfo: { posts: number; files: number; } | undefined; }> | undefined; roles: { roles: Record<string, import("@mattermost/types/roles").Role>; pending: any; } | Partial<{ roles: Record<string, import("@mattermost/types/roles").Role> | undefined; pending: Set<string> | undefined; }> | undefined; schemes: { schemes: { [x: string]: import("@mattermost/types/schemes").Scheme; }; } | Partial<{ schemes: { [x: string]: import("@mattermost/types/schemes").Scheme; } | undefined; }> | undefined; groups: { syncables: Record<string, import("@mattermost/types/groups").GroupSyncablesState>; groups: Record<string, import("@mattermost/types/groups").Group>; stats: any; myGroups: string[]; } | Partial<{ syncables: Record<string, import("@mattermost/types/groups").GroupSyncablesState> | undefined; groups: Record<string, import("@mattermost/types/groups").Group> | undefined; stats: any; myGroups: string[] | undefined; }> | undefined; bots: { accounts: Record<string, import("@mattermost/types/bots").Bot>; } | Partial<{ accounts: Record<string, import("@mattermost/types/bots").Bot> | undefined; }> | undefined; threads: import("@mattermost/types/threads").ThreadsState | undefined; channelCategories: { byId: import("@mattermost/types/utilities").IDMappedObjects<import("@mattermost/types/channel_categories").ChannelCategory>; orderByTeam: import("@mattermost/types/utilities").RelationOneToOne<import("@mattermost/types/teams").Team, string[]>; } | Partial<{ byId: import("@mattermost/types/utilities").IDMappedObjects<import("@mattermost/types/channel_categories").ChannelCategory> | undefined; orderByTeam: import("@mattermost/types/utilities").RelationOneToOne<import("@mattermost/types/teams").Team, string[]> | undefined; }> | undefined; apps: { main: { bindings: import("@mattermost/types/apps").AppBinding[]; forms: import("@mattermost/types/apps").AppCommandFormMap; }; rhs: { bindings: import("@mattermost/types/apps").AppBinding[]; forms: import("@mattermost/types/apps").AppCommandFormMap; }; pluginEnabled: boolean; } | Partial<{ main: { bindings: import("@mattermost/types/apps").AppBinding[]; forms: import("@mattermost/types/apps").AppCommandFormMap; } | Partial<{ bindings: import("@mattermost/types/apps").AppBinding[] | undefined; forms: import("@mattermost/types/apps").AppCommandFormMap | undefined; }> | undefined; rhs: { bindings: import("@mattermost/types/apps").AppBinding[]; forms: import("@mattermost/types/apps").AppCommandFormMap; } | Partial<{ bindings: import("@mattermost/types/apps").AppBinding[] | undefined; forms: import("@mattermost/types/apps").AppCommandFormMap | undefined; }> | undefined; pluginEnabled: boolean | undefined; }> | undefined; cloud: { customer: any; subscription: any; products: Record<string, import("@mattermost/types/cloud").Product> | null; invoices: Record<string, import("@mattermost/types/cloud").Invoice> | null; limits: { limits: any; limitsLoaded: boolean; }; errors: import("./entities/cloud").ErrorsReducer | { subscription: boolean; products?: true; customer?: true; invoices?: true; limits?: true; trueUpReview?: true; } | { products: boolean; subscription?: true; customer?: true; invoices?: true; limits?: true; trueUpReview?: true; } | { customer: boolean; subscription?: true; products?: true; invoices?: true; limits?: true; trueUpReview?: true; } | { invoices: boolean; subscription?: true; products?: true; customer?: true; limits?: true; trueUpReview?: true; } | { limits: boolean; subscription?: true; products?: true; customer?: true; invoices?: true; trueUpReview?: true; }; } | Partial<{ customer: import("@mattermost/types/cloud").CloudCustomer | null | undefined; subscription: import("@mattermost/types/cloud").Subscription | null | undefined; products: Record<string, import("@mattermost/types/cloud").Product> | null | undefined; invoices: Record<string, import("@mattermost/types/cloud").Invoice> | null | undefined; limits: import("./entities/cloud").LimitsReducer | undefined; errors: import("./entities/cloud").ErrorsReducer | undefined; }> | undefined; usage: import("@mattermost/types/cloud").CloudUsage | undefined; hostedCustomer: { products: import("./entities/hosted_customer").SelfHostedProducts; errors: import("./entities/hosted_customer").ErrorsReducer | { products: boolean; invoices?: true; }; } | Partial<{ products: import("./entities/hosted_customer").SelfHostedProducts | undefined; errors: import("./entities/hosted_customer").ErrorsReducer | undefined; }> | undefined; channelBookmarks: { byChannelId: { [channelId: string]: import("@mattermost/types/utilities").IDMappedObjects<import("@mattermost/types/channel_bookmarks").ChannelBookmark>; }; } | Partial<{ byChannelId: { [channelId: string]: import("@mattermost/types/utilities").IDMappedObjects<import("@mattermost/types/channel_bookmarks").ChannelBookmark>; } | undefined; }> | undefined; scheduledPosts: { byId: { [scheduledPostId: string]: import("@mattermost/types/schedule_post").ScheduledPost | undefined; }; byTeamId: { [teamId: string]: string[]; }; byChannelOrThreadId: { [channelId: string]: string[]; }; errorsByTeamId: { [teamId: string]: string[]; }; } | Partial<{ byId: { [scheduledPostId: string]: import("@mattermost/types/schedule_post").ScheduledPost | undefined; } | undefined; byTeamId: { [teamId: string]: string[]; } | undefined; byChannelOrThreadId: { [channelId: string]: string[]; } | undefined; errorsByTeamId: { [teamId: string]: string[]; } | undefined; }> | undefined; sharedChannels: { remotes: Record<string, import("@mattermost/types/shared_channels").RemoteClusterInfo[]>; remotesByRemoteId: Record<string, import("@mattermost/types/shared_channels").RemoteClusterInfo>; } | Partial<{ remotes: Record<string, import("@mattermost/types/shared_channels").RemoteClusterInfo[]> | undefined; remotesByRemoteId: Record<string, import("@mattermost/types/shared_channels").RemoteClusterInfo> | undefined; }> | undefined; contentFlagging: { settings: any; fields: any; postValues: { [key: string]: import("@mattermost/types/properties").PropertyValue<unknown>[]; }; flaggedPosts: { [key: string]: import("@mattermost/types/posts").Post; }; channels: { [key: string]: import("@mattermost/types/channels").Channel; }; teams: { [key: string]: import("@mattermost/types/teams").Team; }; } | Partial<{ settings: import("@mattermost/types/content_flagging").ContentFlaggingConfig | undefined; fields: import("@mattermost/types/properties").NameMappedPropertyFields | undefined; postValues: { [key: string]: import("@mattermost/types/properties").PropertyValue<unknown>[]; } | undefined; flaggedPosts: { [key: string]: import("@mattermost/types/posts").Post; } | undefined; channels: { [key: string]: import("@mattermost/types/channels").Channel; } | undefined; teams: { [key: string]: import("@mattermost/types/teams").Team; } | undefined; }> | undefined; }>>; errors: (state: Array<{ error: any; displayable?: boolean; date: string; }> | undefined, action: import("../action_types").MMReduxAction) => any; requests: import("redux").Reducer<{ channels: { getChannels: import("@mattermost/types/requests").RequestStatusType; getAllChannels: import("@mattermost/types/requests").RequestStatusType; myChannels: import("@mattermost/types/requests").RequestStatusType; createChannel: import("@mattermost/types/requests").RequestStatusType; }; files: { uploadFiles: import("@mattermost/types/requests").RequestStatusType; }; general: { websocket: import("@mattermost/types/requests").RequestStatusType; }; posts: { createPost: import("@mattermost/types/requests").RequestStatusType; editPost: import("@mattermost/types/requests").RequestStatusType; getPostThread: import("@mattermost/types/requests").RequestStatusType; }; teams: { getTeams: import("@mattermost/types/requests").RequestStatusType; }; users: { login: import("@mattermost/types/requests").RequestStatusType; logout: import("@mattermost/types/requests").RequestStatusType; autocompleteUsers: import("@mattermost/types/requests").RequestStatusType; updateMe: import("@mattermost/types/requests").RequestStatusType; }; admin: { createCompliance: import("@mattermost/types/requests").RequestStatusType; }; search: { flaggedPosts: import("@mattermost/types/requests").RequestStatusType; pinnedPosts: import("@mattermost/types/requests").RequestStatusType; }; roles: { getRolesByNames: import("@mattermost/types/requests").RequestStatusType; getRoleByName: import("@mattermost/types/requests").RequestStatusType; getRole: import("@mattermost/types/requests").RequestStatusType; editRole: import("@mattermost/types/requests").RequestStatusType; }; }, import("redux").AnyAction, Partial<{ channels: { getChannels: import("@mattermost/types/requests").RequestStatusType; getAllChannels: import("@mattermost/types/requests").RequestStatusType; myChannels: import("@mattermost/types/requests").RequestStatusType; createChannel: import("@mattermost/types/requests").RequestStatusType; } | Partial<{ getChannels: import("@mattermost/types/requests").RequestStatusType | undefined; getAllChannels: import("@mattermost/types/requests").RequestStatusType | undefined; myChannels: import("@mattermost/types/requests").RequestStatusType | undefined; createChannel: import("@mattermost/types/requests").RequestStatusType | undefined; }> | undefined; files: { uploadFiles: import("@mattermost/types/requests").RequestStatusType; } | Partial<{ uploadFiles: import("@mattermost/types/requests").RequestStatusType | undefined; }> | undefined; general: { websocket: import("@mattermost/types/requests").RequestStatusType; } | Partial<{ websocket: import("@mattermost/types/requests").RequestStatusType | undefined; }> | undefined; posts: { createPost: import("@mattermost/types/requests").RequestStatusType; editPost: import("@mattermost/types/requests").RequestStatusType; getPostThread: import("@mattermost/types/requests").RequestStatusType; } | Partial<{ createPost: import("@mattermost/types/requests").RequestStatusType | undefined; editPost: import("@mattermost/types/requests").RequestStatusType | undefined; getPostThread: import("@mattermost/types/requests").RequestStatusType | undefined; }> | undefined; teams: { getTeams: import("@mattermost/types/requests").RequestStatusType; } | Partial<{ getTeams: import("@mattermost/types/requests").RequestStatusType | undefined; }> | undefined; users: { login: import("@mattermost/types/requests").RequestStatusType; logout: import("@mattermost/types/requests").RequestStatusType; autocompleteUsers: import("@mattermost/types/requests").RequestStatusType; updateMe: import("@mattermost/types/requests").RequestStatusType; } | Partial<{ login: import("@mattermost/types/requests").RequestStatusType | undefined; logout: import("@mattermost/types/requests").RequestStatusType | undefined; autocompleteUsers: import("@mattermost/types/requests").RequestStatusType | undefined; updateMe: import("@mattermost/types/requests").RequestStatusType | undefined; }> | undefined; admin: { createCompliance: import("@mattermost/types/requests").RequestStatusType; } | Partial<{ createCompliance: import("@mattermost/types/requests").RequestStatusType | undefined; }> | undefined; search: { flaggedPosts: import("@mattermost/types/requests").Requ