mattermost-redux
Version:
Common code (API client, Redux stores, logic, utility functions) for building a Mattermost client
793 lines (792 loc) • 25.7 kB
TypeScript
import { Dictionary } from './utilities';
export declare type ClientConfig = {
AboutLink: string;
AllowBannerDismissal: string;
AllowCustomThemes: string;
AllowedThemes: string;
AndroidAppDownloadLink: string;
AndroidLatestVersion: string;
AndroidMinVersion: string;
AppDownloadLink: string;
AsymmetricSigningPublicKey: string;
AvailableLocales: string;
BannerColor: string;
BannerText: string;
BannerTextColor: string;
BuildDate: string;
BuildEnterpriseReady: string;
BuildHash: string;
BuildHashEnterprise: string;
BuildNumber: string;
CloseUnusedDirectMessages: string;
CollapsedThreads: 'disabled' | 'default_off' | 'default_on';
CustomBrandText: string;
CustomDescriptionText: string;
CustomTermsOfServiceId: string;
CustomTermsOfServiceReAcceptancePeriod: string;
CustomUrlSchemes: string;
CWSUrl: string;
DataRetentionEnableFileDeletion: string;
DataRetentionEnableMessageDeletion: string;
DataRetentionFileRetentionDays: string;
DataRetentionMessageRetentionDays: string;
DefaultClientLocale: string;
DefaultTheme: 'default' | 'organization' | 'mattermostDark' | 'windows10';
DesktopLatestVersion: string;
DesktopMinVersion: string;
DiagnosticId: string;
DiagnosticsEnabled: string;
EmailLoginButtonBorderColor: string;
EmailLoginButtonColor: string;
EmailLoginButtonTextColor: string;
EmailNotificationContentsType: string;
EnableAskCommunityLink: string;
EnableBanner: string;
EnableBotAccountCreation: string;
EnableChannelViewedMessages: string;
EnableCluster: string;
EnableCommands: string;
EnableCompliance: string;
EnableConfirmNotificationsToChannel: string;
EnableCustomBrand: string;
EnableCustomEmoji: string;
EnableCustomUserStatuses: string;
EnableCustomTermsOfService: string;
EnableDeveloper: string;
EnableDiagnostics: string;
EnableEmailBatching: string;
EnableEmailInvitations: string;
EnableEmojiPicker: string;
EnableFileAttachments: string;
EnableFile: string;
EnableGifPicker: string;
EnableGuestAccounts: string;
EnableIncomingWebhooks: string;
EnableLatex: string;
EnableLdap: string;
EnableLegacySidebar: string;
EnableLinkPreviews: string;
EnableMarketplace: string;
EnableMetrics: string;
EnableMobileFileDownload: string;
EnableMobileFileUpload: string;
EnableMultifactorAuthentication: string;
EnableOAuthServiceProvider: string;
EnableOpenServer: string;
EnableOutgoingWebhooks: string;
EnablePostIconOverride: string;
EnablePostUsernameOverride: string;
EnablePreviewFeatures: string;
EnablePreviewModeBanner: string;
EnablePublicLink: string;
EnableSaml: string;
EnableSignInWithEmail: string;
EnableSignInWithUsername: string;
EnableSignUpWithEmail: string;
EnableSignUpWithGitLab: string;
EnableSignUpWithGoogle: string;
EnableSignUpWithOffice365: string;
EnableSignUpWithOpenId: string;
EnableSVGs: string;
EnableTesting: string;
EnableThemeSelection: string;
EnableTutorial: string;
EnableUserAccessTokens: string;
EnableUserCreation: string;
EnableUserDeactivation: string;
EnableUserTypingMessages: string;
EnableXToLeaveChannelsFromLHS: string;
EnforceMultifactorAuthentication: string;
ExperimentalChannelOrganization: string;
ExperimentalClientSideCertCheck: string;
ExperimentalClientSideCertEnable: string;
ExperimentalCloudBilling: string;
ExperimentalCloudUserLimit: string;
ExperimentalDataPrefetch: string;
ExperimentalEnableAuthenticationTransfer: string;
ExperimentalEnableAutomaticReplies: string;
ExperimentalEnableClickToReply: string;
ExperimentalEnableDefaultChannelLeaveJoinMessages: string;
ExperimentalEnablePostMetadata: string;
ExperimentalGroupUnreadChannels: string;
ExperimentalHideTownSquareinLHS: string;
ExperimentalPrimaryTeam: string;
ExperimentalTimezone: string;
ExperimentalTownSquareIsReadOnly: string;
ExperimentalViewArchivedChannels: string;
FileLevel: string;
GfycatApiKey: string;
GfycatApiSecret: string;
GoogleDeveloperKey: string;
GuestAccountsEnforceMultifactorAuthentication: string;
HasImageProxy: string;
HelpLink: string;
IosAppDownloadLink: string;
IosLatestVersion: string;
IosMinVersion: string;
IsDefaultMarketplace: string;
LdapFirstNameAttributeSet: string;
LdapLastNameAttributeSet: string;
LdapLoginButtonBorderColor: string;
LdapLoginButtonColor: string;
LdapLoginButtonTextColor: string;
LdapLoginFieldName: string;
LdapNicknameAttributeSet: string;
LdapPositionAttributeSet: string;
LdapPictureAttributeSet: string;
LockTeammateNameDisplay: string;
ManagedResourcePaths: string;
MaxFileSize: string;
MaxNotificationsPerChannel: string;
MinimumHashtagLength: string;
OpenIdButtonText: string;
OpenIdButtonColor: string;
PasswordMinimumLength: string;
PasswordRequireLowercase: string;
PasswordRequireNumber: string;
PasswordRequireSymbol: string;
PasswordRequireUppercase: string;
PluginsEnabled: string;
PostEditTimeLimit: string;
PrivacyPolicyLink: string;
ReportAProblemLink: string;
RequireEmailVerification: string;
RestrictDirectMessage: string;
RunJobs: string;
SamlFirstNameAttributeSet: string;
SamlLastNameAttributeSet: string;
SamlLoginButtonBorderColor: string;
SamlLoginButtonColor: string;
SamlLoginButtonText: string;
SamlLoginButtonTextColor: string;
SamlNicknameAttributeSet: string;
SamlPositionAttributeSet: string;
SendEmailNotifications: string;
SendPushNotifications: string;
ShowEmailAddress: string;
SiteName: string;
SiteURL: string;
SQLDriverName: string;
SupportEmail: string;
TeammateNameDisplay: string;
TermsOfServiceLink: string;
TimeBetweenUserTypingUpdatesMilliseconds: string;
Version: string;
WebsocketPort: string;
WebsocketSecurePort: string;
WebsocketURL: string;
};
export declare type License = {
id: string;
issued_at: number;
starts_at: number;
expires_at: string;
customer: LicenseCustomer;
features: LicenseFeatures;
sku_name: string;
short_sku_name: string;
};
export declare type LicenseCustomer = {
id: string;
name: string;
email: string;
company: string;
};
export declare type LicenseFeatures = {
users?: number;
ldap?: boolean;
ldap_groups?: boolean;
mfa?: boolean;
google_oauth?: boolean;
office365_oauth?: boolean;
compliance?: boolean;
cluster?: boolean;
metrics?: boolean;
mhpns?: boolean;
saml?: boolean;
elastic_search?: boolean;
announcement?: boolean;
theme_management?: boolean;
email_notification_contents?: boolean;
data_retention?: boolean;
message_export?: boolean;
custom_permissions_schemes?: boolean;
custom_terms_of_service?: boolean;
guest_accounts?: boolean;
guest_accounts_permissions?: boolean;
id_loaded?: boolean;
lock_teammate_name_display?: boolean;
cloud?: boolean;
future_features?: boolean;
};
export declare type ClientLicense = Record<string, string>;
export declare type DataRetentionPolicy = {
message_deletion_enabled: boolean;
file_deletion_enabled: boolean;
message_retention_cutoff: number;
file_retention_cutoff: number;
};
export declare type ServiceSettings = {
SiteURL: string;
WebsocketURL: string;
LicenseFileLocation: string;
ListenAddress: string;
ConnectionSecurity: string;
TLSCertFile: string;
TLSKeyFile: string;
TLSMinVer: string;
TLSStrictTransport: boolean;
TLSStrictTransportMaxAge: number;
TLSOverwriteCiphers: string[];
UseLetsEncrypt: boolean;
LetsEncryptCertificateCacheFile: string;
Forward80To443: boolean;
TrustedProxyIPHeader: string[];
ReadTimeout: number;
WriteTimeout: number;
IdleTimeout: number;
MaximumLoginAttempts: number;
GoroutineHealthThreshold: number;
GoogleDeveloperKey: string;
EnableOAuthServiceProvider: boolean;
EnableIncomingWebhooks: boolean;
EnableOutgoingWebhooks: boolean;
EnableCommands: boolean;
EnableOnlyAdminIntegrations: boolean;
EnablePostUsernameOverride: boolean;
EnablePostIconOverride: boolean;
EnableLinkPreviews: boolean;
EnableTesting: boolean;
EnableDeveloper: boolean;
EnableOpenTracing: boolean;
EnableSecurityFixAlert: boolean;
EnableInsecureOutgoingConnections: boolean;
AllowedUntrustedInternalConnections: string;
EnableMultifactorAuthentication: boolean;
EnforceMultifactorAuthentication: boolean;
EnableUserAccessTokens: boolean;
AllowCorsFrom: string;
CorsExposedHeaders: string;
CorsAllowCredentials: boolean;
CorsDebug: boolean;
AllowCookiesForSubdomains: boolean;
ExtendSessionLengthWithActivity: boolean;
SessionLengthWebInDays: number;
SessionLengthMobileInDays: number;
SessionLengthSSOInDays: number;
SessionCacheInMinutes: number;
SessionIdleTimeoutInMinutes: number;
WebsocketSecurePort: number;
WebsocketPort: number;
WebserverMode: string;
EnableCustomEmoji: boolean;
EnableEmojiPicker: boolean;
EnableGifPicker: boolean;
GfycatApiKey: string;
GfycatApiSecret: string;
RestrictCustomEmojiCreation: string;
RestrictPostDelete: string;
AllowEditPost: string;
PostEditTimeLimit: number;
TimeBetweenUserTypingUpdatesMilliseconds: number;
EnablePostSearch: boolean;
MinimumHashtagLength: number;
EnableUserTypingMessages: boolean;
EnableChannelViewedMessages: boolean;
EnableUserStatuses: boolean;
ExperimentalEnableAuthenticationTransfer: boolean;
ClusterLogTimeoutMilliseconds: number;
CloseUnusedDirectMessages: boolean;
EnablePreviewFeatures: boolean;
EnableTutorial: boolean;
ExperimentalEnableDefaultChannelLeaveJoinMessages: boolean;
ExperimentalGroupUnreadChannels: string;
ExperimentalChannelOrganization: boolean;
ExperimentalDataPrefetch: boolean;
ImageProxyType: string;
ImageProxyURL: string;
ImageProxyOptions: string;
EnableAPITeamDeletion: boolean;
ExperimentalEnableHardenedMode: boolean;
DisableLegacyMFA: boolean;
ExperimentalStrictCSRFEnforcement: boolean;
EnableEmailInvitations: boolean;
DisableBotsWhenOwnerIsDeactivated: boolean;
EnableBotAccountCreation: boolean;
EnableSVGs: boolean;
EnableLatex: boolean;
EnableLocalMode: boolean;
LocalModeSocketLocation: string;
EnableLegacySidebar: boolean;
CollapsedThreads: 'disabled' | 'default_on' | 'default_off';
};
export declare type TeamSettings = {
SiteName: string;
MaxUsersPerTeam: number;
EnableTeamCreation: boolean;
EnableUserCreation: boolean;
EnableOpenServer: boolean;
EnableUserDeactivation: boolean;
RestrictCreationToDomains: string;
EnableCustomBrand: boolean;
CustomBrandText: string;
CustomDescriptionText: string;
RestrictDirectMessage: string;
RestrictTeamInvite: string;
RestrictPublicChannelManagement: string;
RestrictPrivateChannelManagement: string;
RestrictPublicChannelCreation: string;
RestrictPrivateChannelCreation: string;
RestrictPublicChannelDeletion: string;
RestrictPrivateChannelDeletion: string;
RestrictPrivateChannelManageMembers: string;
EnableXToLeaveChannelsFromLHS: boolean;
UserStatusAwayTimeout: number;
MaxChannelsPerTeam: number;
MaxNotificationsPerChannel: number;
EnableConfirmNotificationsToChannel: boolean;
TeammateNameDisplay: string;
ExperimentalViewArchivedChannels: boolean;
ExperimentalEnableAutomaticReplies: boolean;
ExperimentalHideTownSquareinLHS: boolean;
ExperimentalTownSquareIsReadOnly: boolean;
LockTeammateNameDisplay: boolean;
ExperimentalPrimaryTeam: string;
ExperimentalDefaultChannels: string[];
};
export declare type ClientRequirements = {
AndroidLatestVersion: string;
AndroidMinVersion: string;
DesktopLatestVersion: string;
DesktopMinVersion: string;
IosLatestVersion: string;
IosMinVersion: string;
};
export declare type SqlSettings = {
DriverName: string;
DataSource: string;
DataSourceReplicas: string[];
DataSourceSearchReplicas: string[];
MaxIdleConns: number;
ConnMaxLifetimeMilliseconds: number;
MaxOpenConns: number;
Trace: boolean;
AtRestEncryptKey: string;
QueryTimeout: number;
DisableDatabaseSearch: boolean;
};
export declare type LogSettings = {
EnableConsole: boolean;
ConsoleLevel: string;
ConsoleJson: boolean;
EnableFile: boolean;
FileLevel: string;
FileJson: boolean;
FileLocation: string;
EnableWebhookDebugging: boolean;
EnableDiagnostics: boolean;
EnableSentry: boolean;
};
export declare type ExperimentalAuditSettings = {
SysLogEnabled: boolean;
SysLogIP: string;
SysLogPort: number;
SysLogTag: string;
SysLogCert: string;
SysLogInsecure: boolean;
SysLogMaxQueueSize: number;
FileEnabled: boolean;
FileName: string;
FileMaxSizeMB: number;
FileMaxAgeDays: number;
FileMaxBackups: number;
FileCompress: boolean;
FileMaxQueueSize: number;
};
export declare type NotificationLogSettings = {
EnableConsole: boolean;
ConsoleLevel: string;
ConsoleJson: boolean;
EnableFile: boolean;
FileLevel: string;
FileJson: boolean;
FileLocation: string;
};
export declare type PasswordSettings = {
MinimumLength: number;
Lowercase: boolean;
Number: boolean;
Uppercase: boolean;
Symbol: boolean;
};
export declare type FileSettings = {
EnableFileAttachments: boolean;
EnableMobileUpload: boolean;
EnableMobileDownload: boolean;
MaxFileSize: number;
DriverName: string;
Directory: string;
EnablePublicLink: boolean;
PublicLinkSalt: string;
InitialFont: string;
AmazonS3AccessKeyId: string;
AmazonS3SecretAccessKey: string;
AmazonS3Bucket: string;
AmazonS3Region: string;
AmazonS3Endpoint: string;
AmazonS3SSL: boolean;
AmazonS3SignV2: boolean;
AmazonS3SSE: boolean;
AmazonS3Trace: boolean;
};
export declare type EmailSettings = {
EnableSignUpWithEmail: boolean;
EnableSignInWithEmail: boolean;
EnableSignInWithUsername: boolean;
SendEmailNotifications: boolean;
UseChannelInEmailNotifications: boolean;
RequireEmailVerification: boolean;
FeedbackName: string;
FeedbackEmail: string;
ReplyToAddress: string;
FeedbackOrganization: string;
EnableSMTPAuth: boolean;
SMTPUsername: string;
SMTPPassword: string;
SMTPServer: string;
SMTPPort: string;
SMTPServerTimeout: number;
ConnectionSecurity: string;
SendPushNotifications: boolean;
PushNotificationServer: string;
PushNotificationContents: string;
EnableEmailBatching: boolean;
EmailBatchingBufferSize: number;
EmailBatchingInterval: number;
EnablePreviewModeBanner: boolean;
SkipServerCertificateVerification: boolean;
EmailNotificationContentsType: string;
LoginButtonColor: string;
LoginButtonBorderColor: string;
LoginButtonTextColor: string;
};
export declare type RateLimitSettings = {
Enable: boolean;
PerSec: number;
MaxBurst: number;
MemoryStoreSize: number;
VaryByRemoteAddr: boolean;
VaryByUser: boolean;
VaryByHeader: string;
};
export declare type PrivacySettings = {
ShowEmailAddress: boolean;
ShowFullName: boolean;
};
export declare type SupportSettings = {
TermsOfServiceLink: string;
PrivacyPolicyLink: string;
AboutLink: string;
HelpLink: string;
ReportAProblemLink: string;
SupportEmail: string;
CustomTermsOfServiceEnabled: boolean;
CustomTermsOfServiceReAcceptancePeriod: number;
};
export declare type AnnouncementSettings = {
EnableBanner: boolean;
BannerText: string;
BannerColor: string;
BannerTextColor: string;
AllowBannerDismissal: boolean;
};
export declare type ThemeSettings = {
EnableThemeSelection: boolean;
DefaultTheme: string;
AllowCustomThemes: boolean;
AllowedThemes: string[];
};
export declare type SSOSettings = {
Enable: boolean;
Secret: string;
Id: string;
Scope: string;
AuthEndpoint: string;
TokenEndpoint: string;
UserApiEndpoint: string;
DiscoveryEndpoint: string;
ButtonText: string;
ButtonColor: string;
};
export declare type Office365Settings = {
Enable: boolean;
Secret: string;
Id: string;
Scope: string;
AuthEndpoint: string;
TokenEndpoint: string;
UserApiEndpoint: string;
DiscoveryEndpoint: string;
DirectoryId: string;
};
export declare type LdapSettings = {
Enable: boolean;
EnableSync: boolean;
LdapServer: string;
LdapPort: number;
ConnectionSecurity: string;
BaseDN: string;
BindUsername: string;
BindPassword: string;
UserFilter: string;
GroupFilter: string;
GuestFilter: string;
EnableAdminFilter: boolean;
AdminFilter: string;
GroupDisplayNameAttribute: string;
GroupIdAttribute: string;
FirstNameAttribute: string;
LastNameAttribute: string;
EmailAttribute: string;
UsernameAttribute: string;
NicknameAttribute: string;
IdAttribute: string;
PositionAttribute: string;
LoginIdAttribute: string;
PictureAttribute: string;
SyncIntervalMinutes: number;
SkipCertificateVerification: boolean;
QueryTimeout: number;
MaxPageSize: number;
LoginFieldName: string;
LoginButtonColor: string;
LoginButtonBorderColor: string;
LoginButtonTextColor: string;
Trace: boolean;
};
export declare type ComplianceSettings = {
Enable: boolean;
Directory: string;
EnableDaily: boolean;
};
export declare type LocalizationSettings = {
DefaultServerLocale: string;
DefaultClientLocale: string;
AvailableLocales: string;
};
export declare type SamlSettings = {
Enable: boolean;
EnableSyncWithLdap: boolean;
EnableSyncWithLdapIncludeAuth: boolean;
IgnoreGuestsLdapSync: boolean;
Verify: boolean;
Encrypt: boolean;
SignRequest: boolean;
IdpUrl: string;
IdpDescriptorUrl: string;
IdpMetadataUrl: string;
AssertionConsumerServiceURL: string;
SignatureAlgorithm: string;
CanonicalAlgorithm: string;
ScopingIDPProviderId: string;
ScopingIDPName: string;
IdpCertificateFile: string;
PublicCertificateFile: string;
PrivateKeyFile: string;
IdAttribute: string;
GuestAttribute: string;
EnableAdminAttribute: boolean;
AdminAttribute: string;
FirstNameAttribute: string;
LastNameAttribute: string;
EmailAttribute: string;
UsernameAttribute: string;
NicknameAttribute: string;
LocaleAttribute: string;
PositionAttribute: string;
LoginButtonText: string;
LoginButtonColor: string;
LoginButtonBorderColor: string;
LoginButtonTextColor: string;
};
export declare type NativeAppSettings = {
AppDownloadLink: string;
AndroidAppDownloadLink: string;
IosAppDownloadLink: string;
};
export declare type ClusterSettings = {
Enable: boolean;
ClusterName: string;
OverrideHostname: string;
NetworkInterface: string;
BindAddress: string;
AdvertiseAddress: string;
UseIpAddress: boolean;
UseExperimentalGossip: boolean;
EnableExperimentalGossipEncryption: boolean;
ReadOnlyConfig: boolean;
GossipPort: number;
StreamingPort: number;
MaxIdleConns: number;
MaxIdleConnsPerHost: number;
IdleConnTimeoutMilliseconds: number;
};
export declare type MetricsSettings = {
Enable: boolean;
BlockProfileRate: number;
ListenAddress: string;
};
export declare type ExperimentalSettings = {
ClientSideCertEnable: boolean;
ClientSideCertCheck: string;
EnableClickToReply: boolean;
LinkMetadataTimeoutMilliseconds: number;
RestrictSystemAdmin: boolean;
UseNewSAMLLibrary: boolean;
CloudBilling: boolean;
};
export declare type AnalyticsSettings = {
MaxUsersForStatistics: number;
};
export declare type ElasticsearchSettings = {
ConnectionUrl: string;
Username: string;
Password: string;
EnableIndexing: boolean;
EnableSearching: boolean;
EnableAutocomplete: boolean;
Sniff: boolean;
PostIndexReplicas: number;
PostIndexShards: number;
ChannelIndexReplicas: number;
ChannelIndexShards: number;
UserIndexReplicas: number;
UserIndexShards: number;
AggregatePostsAfterDays: number;
PostsAggregatorJobStartTime: string;
IndexPrefix: string;
LiveIndexingBatchSize: number;
BulkIndexingTimeWindowSeconds: number;
RequestTimeoutSeconds: number;
SkipTLSVerification: boolean;
Trace: string;
};
export declare type BleveSettings = {
IndexDir: string;
EnableIndexing: boolean;
EnableSearching: boolean;
EnableAutocomplete: boolean;
BulkIndexingTimeWindowSeconds: number;
};
export declare type DataRetentionSettings = {
EnableMessageDeletion: boolean;
EnableFileDeletion: boolean;
MessageRetentionDays: number;
FileRetentionDays: number;
DeletionJobStartTime: string;
};
export declare type MessageExportSettings = {
EnableExport: boolean;
DownloadExportResults: boolean;
ExportFormat: string;
DailyRunTime: string;
ExportFromTimestamp: number;
BatchSize: number;
GlobalRelaySettings: {
CustomerType: string;
SmtpUsername: string;
SmtpPassword: string;
EmailAddress: string;
};
};
export declare type JobSettings = {
RunJobs: boolean;
RunScheduler: boolean;
};
export declare type PluginSettings = {
Enable: boolean;
EnableUploads: boolean;
AllowInsecureDownloadUrl: boolean;
EnableHealthCheck: boolean;
Directory: string;
ClientDirectory: string;
Plugins: Dictionary<any>;
PluginStates: Dictionary<{
Enable: boolean;
}>;
EnableMarketplace: boolean;
EnableRemoteMarketplace: boolean;
AutomaticPrepackagedPlugins: boolean;
RequirePluginSignature: boolean;
MarketplaceUrl: string;
SignaturePublicKeyFiles: string[];
};
export declare type DisplaySettings = {
CustomUrlSchemes: string[];
ExperimentalTimezone: boolean;
};
export declare type GuestAccountsSettings = {
Enable: boolean;
AllowEmailAccounts: boolean;
EnforceMultifactorAuthentication: boolean;
RestrictCreationToDomains: string;
};
export declare type ImageProxySettings = {
Enable: boolean;
ImageProxyType: string;
RemoteImageProxyURL: string;
RemoteImageProxyOptions: string;
};
export declare type FeatureFlags = Record<string, string>;
export declare type AdminConfig = {
ServiceSettings: ServiceSettings;
TeamSettings: TeamSettings;
ClientRequirements: ClientRequirements;
SqlSettings: SqlSettings;
LogSettings: LogSettings;
ExperimentalAuditSettings: ExperimentalAuditSettings;
NotificationLogSettings: NotificationLogSettings;
PasswordSettings: PasswordSettings;
FileSettings: FileSettings;
EmailSettings: EmailSettings;
RateLimitSettings: RateLimitSettings;
PrivacySettings: PrivacySettings;
SupportSettings: SupportSettings;
AnnouncementSettings: AnnouncementSettings;
ThemeSettings: ThemeSettings;
GitLabSettings: SSOSettings;
GoogleSettings: SSOSettings;
Office365Settings: Office365Settings;
OpenIdSettings: SSOSettings;
LdapSettings: LdapSettings;
ComplianceSettings: ComplianceSettings;
LocalizationSettings: LocalizationSettings;
SamlSettings: SamlSettings;
NativeAppSettings: NativeAppSettings;
ClusterSettings: ClusterSettings;
MetricsSettings: MetricsSettings;
ExperimentalSettings: ExperimentalSettings;
AnalyticsSettings: AnalyticsSettings;
ElasticsearchSettings: ElasticsearchSettings;
BleveSettings: BleveSettings;
DataRetentionSettings: DataRetentionSettings;
MessageExportSettings: MessageExportSettings;
JobSettings: JobSettings;
PluginSettings: PluginSettings;
DisplaySettings: DisplaySettings;
GuestAccountsSettings: GuestAccountsSettings;
ImageProxySettings: ImageProxySettings;
FeatureFlags: FeatureFlags;
};
export declare type EnvironmentConfigSettings<T> = {
[P in keyof T]: boolean;
};
export declare type EnvironmentConfig = {
[P in keyof AdminConfig]: EnvironmentConfigSettings<AdminConfig[P]>;
};
export declare type WarnMetricStatus = {
id: string;
limit: number;
acked: boolean;
store_status: string;
};