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").RequestStatusType;
            pinnedPosts: import("@mattermost/types/requests").RequestStatusType;
        } | Partial<{
            flaggedPosts: import("@mattermost/types/requests").RequestStatusType | undefined;
            pinnedPosts: import("@mattermost/types/requests").RequestStatusType | undefined;
        }> | undefined;
        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;
        } | Partial<{
            getRolesByNames: import("@mattermost/types/requests").RequestStatusType | undefined;
            getRoleByName: import("@mattermost/types/requests").RequestStatusType | undefined;
            getRole: import("@mattermost/types/requests").RequestStatusType | undefined;
            editRole: import("@mattermost/types/requests").RequestStatusType | undefined;
        }> | undefined;
    }>>;
    websocket: typeof websocket;
};
export default _default;
