mattermost-redux
Version:
Common code (API client, Redux stores, logic, utility functions) for building a Mattermost client
923 lines • 51.2 kB
TypeScript
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