import { ClusterInfo, AnalyticsRow } from "../types/admin"; import { Audit } from "../types/audits"; import { UserAutocomplete, AutocompleteSuggestion } from "../types/autocomplete"; import { Bot, BotPatch } from "../types/bots"; import { ChannelCategory, OrderedChannelCategories } from "../types/channel_categories"; import { Channel, ChannelMembership, ChannelModeration, ChannelModerationPatch, ChannelStats, ChannelsWithTotalCount, ChannelUnread, ChannelViewResponse, ChannelWithTeamData, ChannelSearchOpts } from "../types/channels"; import { Options, StatusOK, ClientResponse } from "../types/client4"; import { Compliance } from "../types/compliance"; import { ClientConfig, DataRetentionPolicy, License, AdminConfig, EnvironmentConfig } from "../types/config"; import { CustomEmoji } from "../types/emojis"; import { ServerError } from "../types/errors"; import { FileInfo, FileUploadResponse } from "../types/files"; import { Group, GroupPatch, GroupSyncable, MixedUnlinkedGroup, SyncablePatch, UsersWithGroupsAndCount, GroupsWithCount } from "../types/groups"; import { PostActionResponse } from "../types/integration_actions"; import { Command, CommandResponse, DialogSubmission, IncomingWebhook, OAuthApp, OutgoingWebhook, SubmitDialogResponse } from "../types/integrations"; import { Job } from "../types/jobs"; import { MfaSecret } from "../types/mfa"; import { ClientPluginManifest, MarketplacePlugin, PluginsResponse, PluginStatus } from "../types/plugins"; import { Post, PostList, PostSearchResults } from "../types/posts"; import { PreferenceType } from "../types/preferences"; import { Reaction } from "../types/reactions"; import { Role } from "../types/roles"; import { SamlCertificateStatus, SamlMetadataResponse } from "../types/saml"; import { Scheme } from "../types/schemes"; import { Session } from "../types/sessions"; import { GetTeamMembersOpts, Team, TeamInviteWithError, TeamMembership, TeamMemberWithError, TeamStats, TeamsWithCount, TeamUnread, TeamSearchOpts } from "../types/teams"; import { TermsOfService } from "../types/terms_of_service"; import { AuthChangeResponse, UserAccessToken, UserProfile, UsersStats, UserStatus, GetFilteredUsersStatsOpts } from "../types/users"; import { RelationOneToOne } from "../types/utilities"; import { ProductNotices } from "../types/product_notices"; export declare const HEADER_X_VERSION_ID = "X-Version-Id"; export declare const DEFAULT_LIMIT_BEFORE = 30; export declare const DEFAULT_LIMIT_AFTER = 30; export default class Client4 { logToConsole: boolean; serverVersion: string; clusterId: string; token: string; csrf: string; url: string; urlVersion: string; userAgent: string | null; enableLogging: boolean; defaultHeaders: { [x: string]: string; }; userId: string; diagnosticId: string; includeCookies: boolean; isRudderKeySet: boolean; translations: { connectionError: string; unknownError: string; }; userRoles?: string; getUrl(): string; getAbsoluteUrl(baseUrl: string): string; setUrl(url: string): void; setUserAgent(userAgent: string): void; getToken(): string; setToken(token: string): void; setCSRF(csrfToken: string): void; setAcceptLanguage(locale: string): void; setEnableLogging(enable: boolean): void; setIncludeCookies(include: boolean): void; setUserId(userId: string): void; setUserRoles(roles: string): void; setDiagnosticId(diagnosticId: string): void; enableRudderEvents(): void; getServerVersion(): string; getUrlVersion(): string; getBaseRoute(): string; getUsersRoute(): string; getUserRoute(userId: string): string; getTeamsRoute(): string; getTeamRoute(teamId: string): string; getTeamSchemeRoute(teamId: string): string; getTeamNameRoute(teamName: string): string; getTeamMembersRoute(teamId: string): string; getTeamMemberRoute(teamId: string, userId: string): string; getChannelsRoute(): string; getChannelRoute(channelId: string): string; getChannelMembersRoute(channelId: string): string; getChannelMemberRoute(channelId: string, userId: string): string; getChannelSchemeRoute(channelId: string): string; getChannelCategoriesRoute(userId: string, teamId: string): string; getPostsRoute(): string; getPostRoute(postId: string): string; getReactionsRoute(): string; getCommandsRoute(): string; getFilesRoute(): string; getFileRoute(fileId: string): string; getPreferencesRoute(userId: string): string; getIncomingHooksRoute(): string; getIncomingHookRoute(hookId: string): string; getOutgoingHooksRoute(): string; getOutgoingHookRoute(hookId: string): string; getOAuthRoute(): string; getOAuthAppsRoute(): string; getOAuthAppRoute(appId: string): string; getEmojisRoute(): string; getEmojiRoute(emojiId: string): string; getBrandRoute(): string; getBrandImageUrl(timestamp: string): string; getDataRetentionRoute(): string; getJobsRoute(): string; getPluginsRoute(): string; getPluginRoute(pluginId: string): string; getPluginsMarketplaceRoute(): string; getRolesRoute(): string; getTimezonesRoute(): string; getSchemesRoute(): string; getRedirectLocationRoute(): string; getBotsRoute(): string; getBotRoute(botUserId: string): string; getGroupsRoute(): string; getGroupRoute(groupID: string): string; getNoticesRoute(): string; getCSRFFromCookie(): string; getOptions(options: Options): { headers: { [x: string]: string; }; method?: string | undefined; url?: string | undefined; credentials?: "omit" | "same-origin" | "include" | undefined; body?: any; }; createUser: (user: UserProfile, token: string, inviteId: string, redirect: string) => Promise; patchMe: (userPatch: Partial) => Promise; patchUser: (userPatch: Partial & { id: string; }) => Promise; updateUser: (user: UserProfile) => Promise; promoteGuestToUser: (userId: string) => Promise; demoteUserToGuest: (userId: string) => Promise; updateUserRoles: (userId: string, roles: string) => Promise; updateUserMfa: (userId: string, activate: boolean, code: string) => Promise; updateUserPassword: (userId: string, currentPassword: string, newPassword: string) => Promise; resetUserPassword: (token: string, newPassword: string) => Promise; getKnownUsers: () => Promise; sendPasswordResetEmail: (email: string) => Promise; updateUserActive: (userId: string, active: boolean) => Promise; uploadProfileImage: (userId: string, imageData: File) => Promise; setDefaultProfileImage: (userId: string) => Promise; verifyUserEmail: (token: string) => Promise; updateMyTermsOfServiceStatus: (termsOfServiceId: string, accepted: boolean) => Promise; getTermsOfService: () => Promise; createTermsOfService: (text: string) => Promise; sendVerificationEmail: (email: string) => Promise; login: (loginId: string, password: string, token?: string, deviceId?: string, ldapOnly?: boolean) => Promise; loginById: (id: string, password: string, token?: string, deviceId?: string) => Promise; logout: () => Promise; getProfiles: (page?: number, perPage?: number, options?: {}) => Promise; getProfilesByIds: (userIds: string[], options?: {}) => Promise; getProfilesByUsernames: (usernames: string[]) => Promise; getProfilesInTeam: (teamId: string, page?: number, perPage?: number, sort?: string, options?: {}) => Promise; getProfilesNotInTeam: (teamId: string, groupConstrained: boolean, page?: number, perPage?: number) => Promise; getProfilesWithoutTeam: (page?: number, perPage?: number, options?: {}) => Promise; getProfilesInChannel: (channelId: string, page?: number, perPage?: number, sort?: string, options?: { active?: boolean | undefined; }) => Promise; getProfilesInGroupChannels: (channelsIds: string[]) => Promise>; getProfilesNotInChannel: (teamId: string, channelId: string, groupConstrained: boolean, page?: number, perPage?: number) => Promise; getProfilesInGroup: (groupId: string, page?: number, perPage?: number) => Promise; getMe: () => Promise; getUser: (userId: string) => Promise; getUserByUsername: (username: string) => Promise; getUserByEmail: (email: string) => Promise; getProfilePictureUrl: (userId: string, lastPictureUpdate: number) => string; getDefaultProfilePictureUrl: (userId: string) => string; autocompleteUsers: (name: string, teamId: string, channelId: string, options?: { limit: number; }) => Promise; getSessions: (userId: string) => Promise; revokeSession: (userId: string, sessionId: string) => Promise; revokeAllSessionsForUser: (userId: string) => Promise; revokeSessionsForAllUsers: () => Promise; getUserAudits: (userId: string, page?: number, perPage?: number) => Promise; checkUserMfa: (loginId: string) => Promise<{ mfa_required: boolean; }>; generateMfaSecret: (userId: string) => Promise; attachDevice: (deviceId: string) => Promise; searchUsers: (term: string, options: any) => Promise; getStatusesByIds: (userIds: string[]) => Promise; getStatus: (userId: string) => Promise; updateStatus: (status: UserStatus) => Promise; switchEmailToOAuth: (service: string, email: string, password: string, mfaCode?: string) => Promise; switchOAuthToEmail: (currentService: string, email: string, password: string) => Promise; switchEmailToLdap: (email: string, emailPassword: string, ldapId: string, ldapPassword: string, mfaCode?: string) => Promise; switchLdapToEmail: (ldapPassword: string, email: string, emailPassword: string, mfaCode?: string) => Promise; getAuthorizedOAuthApps: (userId: string) => Promise; authorizeOAuthApp: (responseType: string, clientId: string, redirectUri: string, state: string, scope: string) => Promise; deauthorizeOAuthApp: (clientId: string) => Promise; createUserAccessToken: (userId: string, description: string) => Promise; getUserAccessToken: (tokenId: string) => Promise; getUserAccessTokensForUser: (userId: string, page?: number, perPage?: number) => Promise; getUserAccessTokens: (page?: number, perPage?: number) => Promise; revokeUserAccessToken: (tokenId: string) => Promise; disableUserAccessToken: (tokenId: string) => Promise; enableUserAccessToken: (tokenId: string) => Promise; createTeam: (team: Team) => Promise; deleteTeam: (teamId: string) => Promise; updateTeam: (team: Team) => Promise; patchTeam: (team: Partial & { id: string; }) => Promise; regenerateTeamInviteId: (teamId: string) => Promise; updateTeamScheme: (teamId: string, schemeId: string) => Promise; checkIfTeamExists: (teamName: string) => Promise<{ exists: boolean; }>; getTeams: (page?: number, perPage?: number, includeTotalCount?: boolean) => Promise; searchTeams: (term: string, opts: TeamSearchOpts) => Promise; getTeam: (teamId: string) => Promise; getTeamByName: (teamName: string) => Promise; getMyTeams: () => Promise; getTeamsForUser: (userId: string) => Promise; getMyTeamMembers: () => Promise; getMyTeamUnreads: () => Promise; getTeamMembers: (teamId: string, page: number | undefined, perPage: number | undefined, options: GetTeamMembersOpts) => Promise; getTeamMembersForUser: (userId: string) => Promise; getTeamMember: (teamId: string, userId: string) => Promise; getTeamMembersByIds: (teamId: string, userIds: string[]) => Promise; addToTeam: (teamId: string, userId: string) => Promise; addToTeamFromInvite: (token?: string, inviteId?: string) => Promise; addUsersToTeam: (teamId: string, userIds: string[]) => Promise; addUsersToTeamGracefully: (teamId: string, userIds: string[]) => Promise; joinTeam: (inviteId: string) => Promise; removeFromTeam: (teamId: string, userId: string) => Promise; getTeamStats: (teamId: string) => Promise; getTotalUsersStats: () => Promise; getFilteredUsersStats: (options: GetFilteredUsersStatsOpts) => Promise; invalidateAllEmailInvites: () => Promise; getTeamInviteInfo: (inviteId: string) => Promise<{ display_name: string; description: string; name: string; id: string; }>; updateTeamMemberRoles: (teamId: string, userId: string, roles: string[]) => Promise; sendEmailInvitesToTeam: (teamId: string, emails: string[]) => Promise; sendEmailGuestInvitesToChannels: (teamId: string, channelIds: string[], emails: string[], message: string) => Promise; sendEmailInvitesToTeamGracefully: (teamId: string, emails: string[]) => Promise; sendEmailGuestInvitesToChannelsGracefully: (teamId: string, channelIds: string[], emails: string[], message: string) => Promise; importTeam: (teamId: string, file: File, importFrom: string) => Promise<{ results: string; }>; getTeamIconUrl: (teamId: string, lastTeamIconUpdate: number) => string; setTeamIcon: (teamId: string, imageData: File) => Promise; removeTeamIcon: (teamId: string) => Promise; updateTeamMemberSchemeRoles: (teamId: string, userId: string, isSchemeUser: boolean, isSchemeAdmin: boolean) => Promise; getAllChannels: (page?: number, perPage?: number, notAssociatedToGroup?: string, excludeDefaultChannels?: boolean, includeTotalCount?: boolean, includeDeleted?: boolean) => Promise; createChannel: (channel: Channel) => Promise; createDirectChannel: (userIds: string[]) => Promise; createGroupChannel: (userIds: string[]) => Promise; deleteChannel: (channelId: string) => Promise; unarchiveChannel: (channelId: string) => Promise; updateChannel: (channel: Channel) => Promise; convertChannelToPrivate: (channelId: string) => Promise; updateChannelPrivacy: (channelId: string, privacy: any) => Promise; patchChannel: (channelId: string, channelPatch: Partial) => Promise; updateChannelNotifyProps: (props: any) => Promise; updateChannelScheme: (channelId: string, schemeId: string) => Promise; getChannel: (channelId: string) => Promise; getChannelByName: (teamId: string, channelName: string, includeDeleted?: boolean) => Promise; getChannelByNameAndTeamName: (teamName: string, channelName: string, includeDeleted?: boolean) => Promise; getChannels: (teamId: string, page?: number, perPage?: number) => Promise; getArchivedChannels: (teamId: string, page?: number, perPage?: number) => Promise; getMyChannels: (teamId: string, includeDeleted?: boolean) => Promise; getMyChannelMember: (channelId: string) => Promise; getMyChannelMembers: (teamId: string) => Promise; getChannelMembers: (channelId: string, page?: number, perPage?: number) => Promise; getChannelTimezones: (channelId: string) => Promise; getChannelMember: (channelId: string, userId: string) => Promise; getChannelMembersByIds: (channelId: string, userIds: string[]) => Promise; addToChannel: (userId: string, channelId: string, postRootId?: string) => Promise; removeFromChannel: (userId: string, channelId: string) => Promise; updateChannelMemberRoles: (channelId: string, userId: string, roles: string) => Promise; getChannelStats: (channelId: string) => Promise; getChannelModerations: (channelId: string) => Promise; patchChannelModerations: (channelId: string, channelModerationsPatch: ChannelModerationPatch[]) => Promise; getChannelMemberCountsByGroup: (channelId: string, includeTimezones: boolean) => Promise>; viewMyChannel: (channelId: string, prevChannelId?: string | undefined) => Promise; autocompleteChannels: (teamId: string, name: string) => Promise; autocompleteChannelsForSearch: (teamId: string, name: string) => Promise; searchChannels: (teamId: string, term: string) => Promise; searchArchivedChannels: (teamId: string, term: string) => Promise; searchAllChannels: (term: string, opts?: ChannelSearchOpts) => Promise; searchGroupChannels: (term: string) => Promise; updateChannelMemberSchemeRoles: (channelId: string, userId: string, isSchemeUser: boolean, isSchemeAdmin: boolean) => Promise; getChannelCategories: (userId: string, teamId: string) => Promise; createChannelCategory: (userId: string, teamId: string, category: Partial) => Promise; updateChannelCategories: (userId: string, teamId: string, categories: ChannelCategory[]) => Promise; getChannelCategoryOrder: (userId: string, teamId: string) => Promise; updateChannelCategoryOrder: (userId: string, teamId: string, categoryOrder: string[]) => Promise; getChannelCategory: (userId: string, teamId: string, categoryId: string) => Promise; updateChannelCategory: (userId: string, teamId: string, category: ChannelCategory) => Promise; deleteChannelCategory: (userId: string, teamId: string, categoryId: string) => Promise; createPost: (post: Post) => Promise; updatePost: (post: Post) => Promise; getPost: (postId: string) => Promise; patchPost: (postPatch: Partial & { id: string; }) => Promise; deletePost: (postId: string) => Promise; getPostThread: (postId: string, fetchThreads?: boolean) => Promise; getPosts: (channelId: string, page?: number, perPage?: number, fetchThreads?: boolean) => Promise; getPostsUnread: (channelId: string, userId: string, limitAfter?: number, limitBefore?: number, fetchThreads?: boolean) => Promise; getPostsSince: (channelId: string, since: number, fetchThreads?: boolean) => Promise; getPostsBefore: (channelId: string, postId: string, page?: number, perPage?: number, fetchThreads?: boolean) => Promise; getPostsAfter: (channelId: string, postId: string, page?: number, perPage?: number, fetchThreads?: boolean) => Promise; getFileInfosForPost: (postId: string) => Promise; getFlaggedPosts: (userId: string, channelId?: string, teamId?: string, page?: number, perPage?: number) => Promise; getPinnedPosts: (channelId: string) => Promise; markPostAsUnread: (userId: string, postId: string) => Promise; pinPost: (postId: string) => Promise; unpinPost: (postId: string) => Promise; addReaction: (userId: string, postId: string, emojiName: string) => Promise; removeReaction: (userId: string, postId: string, emojiName: string) => Promise; getReactionsForPost: (postId: string) => Promise; searchPostsWithParams: (teamId: string, params: any) => Promise; searchPosts: (teamId: string, terms: string, isOrSearch: boolean) => Promise; getOpenGraphMetadata: (url: string) => Promise; doPostAction: (postId: string, actionId: string, selectedOption?: string) => Promise; doPostActionWithCookie: (postId: string, actionId: string, actionCookie: string, selectedOption?: string) => Promise; getFileUrl(fileId: string, timestamp: number): string; getFileThumbnailUrl(fileId: string, timestamp: number): string; getFilePreviewUrl(fileId: string, timestamp: number): string; uploadFile: (fileFormData: any, formBoundary: string) => Promise; getFilePublicLink: (fileId: string) => Promise<{ link: string; }>; savePreferences: (userId: string, preferences: PreferenceType[]) => Promise; getMyPreferences: () => Promise; deletePreferences: (userId: string, preferences: PreferenceType[]) => Promise; ping: () => Promise<{ status: string; }>; upgradeToEnterprise: () => Promise; upgradeToEnterpriseStatus: () => Promise<{ percentage: number; error: string | null; }>; restartServer: () => Promise; logClientError: (message: string, level?: string) => Promise<{ message: string; }>; getClientConfigOld: () => Promise; getClientLicenseOld: () => Promise>; getWarnMetricsStatus: () => Promise; sendWarnMetricAck: (warnMetricId: string, forceAckVal: boolean) => Promise; getTranslations: (url: string) => Promise>; getWebSocketUrl: () => string; createIncomingWebhook: (hook: IncomingWebhook) => Promise; getIncomingWebhook: (hookId: string) => Promise; getIncomingWebhooks: (teamId?: string, page?: number, perPage?: number) => Promise; removeIncomingWebhook: (hookId: string) => Promise; updateIncomingWebhook: (hook: IncomingWebhook) => Promise; createOutgoingWebhook: (hook: OutgoingWebhook) => Promise; getOutgoingWebhook: (hookId: string) => Promise; getOutgoingWebhooks: (channelId?: string, teamId?: string, page?: number, perPage?: number) => Promise; removeOutgoingWebhook: (hookId: string) => Promise; updateOutgoingWebhook: (hook: OutgoingWebhook) => Promise; regenOutgoingHookToken: (id: string) => Promise; getCommandsList: (teamId: string) => Promise; getCommandAutocompleteSuggestionsList: (userInput: string, teamId: string, commandArgs: {}) => Promise; getAutocompleteCommandsList: (teamId: string, page?: number, perPage?: number) => Promise; getCustomTeamCommands: (teamId: string) => Promise; executeCommand: (command: Command, commandArgs?: {}) => Promise; addCommand: (command: Command) => Promise; editCommand: (command: Command) => Promise; regenCommandToken: (id: string) => Promise<{ token: string; }>; deleteCommand: (id: string) => Promise; createOAuthApp: (app: OAuthApp) => Promise; editOAuthApp: (app: OAuthApp) => Promise; getOAuthApps: (page?: number, perPage?: number) => Promise; getOAuthApp: (appId: string) => Promise; getOAuthAppInfo: (appId: string) => Promise; deleteOAuthApp: (appId: string) => Promise; regenOAuthAppSecret: (appId: string) => Promise; submitInteractiveDialog: (data: DialogSubmission) => Promise; createCustomEmoji: (emoji: CustomEmoji, imageData: File) => Promise; getCustomEmoji: (id: string) => Promise; getCustomEmojiByName: (name: string) => Promise; getCustomEmojis: (page?: number, perPage?: number, sort?: string) => Promise; deleteCustomEmoji: (emojiId: string) => Promise; getSystemEmojiImageUrl: (filename: string) => string; getCustomEmojiImageUrl: (id: string) => string; searchCustomEmoji: (term: string, options?: {}) => Promise; autocompleteCustomEmoji: (name: string) => Promise; getTimezones: () => Promise; getDataRetentionPolicy: () => Promise; getJob: (id: string) => Promise; getJobs: (page?: number, perPage?: number) => Promise; getJobsByType: (type: string, page?: number, perPage?: number) => Promise; createJob: (job: Job) => Promise; cancelJob: (id: string) => Promise; getLogs: (page?: number, perPage?: number) => Promise; getAudits: (page?: number, perPage?: number) => Promise; getConfig: () => Promise; updateConfig: (config: AdminConfig) => Promise; reloadConfig: () => Promise; getEnvironmentConfig: () => Promise; testEmail: (config: AdminConfig) => Promise; testSiteURL: (siteURL: string) => Promise; testS3Connection: (config: ClientConfig) => Promise; invalidateCaches: () => Promise; recycleDatabase: () => Promise; createComplianceReport: (job: Job) => Promise; getComplianceReport: (reportId: string) => Promise; getComplianceReports: (page?: number, perPage?: number) => Promise; uploadBrandImage: (imageData: File) => Promise; deleteBrandImage: () => Promise; getClusterStatus: () => Promise; testLdap: () => Promise; syncLdap: () => Promise; getLdapGroups: (page?: number, perPage?: number, opts?: {}) => Promise<{ count: number; groups: MixedUnlinkedGroup[]; }>; linkLdapGroup: (key: string) => Promise; unlinkLdapGroup: (key: string) => Promise; getSamlCertificateStatus: () => Promise; uploadPublicSamlCertificate: (fileData: File) => Promise; uploadPrivateSamlCertificate: (fileData: File) => Promise; uploadPublicLdapCertificate: (fileData: File) => Promise; uploadPrivateLdapCertificate: (fileData: File) => Promise; uploadIdpSamlCertificate: (fileData: File) => Promise; deletePublicSamlCertificate: () => Promise; deletePrivateSamlCertificate: () => Promise; deletePublicLdapCertificate: () => Promise; deletePrivateLdapCertificate: () => Promise; deleteIdpSamlCertificate: () => Promise; testElasticsearch: (config: ClientConfig) => Promise; purgeElasticsearchIndexes: () => Promise; purgeBleveIndexes: () => Promise; uploadLicense: (fileData: File) => Promise; removeLicense: () => Promise; getAnalytics: (name?: string, teamId?: string) => Promise; getRole: (roleId: string) => Promise; getRoleByName: (roleName: string) => Promise; getRolesByNames: (rolesNames: string[]) => Promise; patchRole: (roleId: string, rolePatch: Partial) => Promise; getSchemes: (scope?: string, page?: number, perPage?: number) => Promise; createScheme: (scheme: Scheme) => Promise; getScheme: (schemeId: string) => Promise; deleteScheme: (schemeId: string) => Promise; patchScheme: (schemeId: string, schemePatch: Partial) => Promise; getSchemeTeams: (schemeId: string, page?: number, perPage?: number) => Promise; getSchemeChannels: (schemeId: string, page?: number, perPage?: number) => Promise; uploadPlugin: (fileData: File, force?: boolean) => Promise<{ id: string; name?: string | undefined; description?: string | undefined; homepage_url?: string | undefined; support_url?: string | undefined; release_notes_url?: string | undefined; icon_path?: string | undefined; version: string; min_server_version?: string | undefined; server?: import("../types/plugins").PluginManifestServer | undefined; backend?: import("../types/plugins").PluginManifestServer | undefined; webapp?: import("../types/plugins").PluginManifestWebapp | undefined; settings_schema?: import("../types/plugins").PluginSettingsSchema | undefined; props?: Record | undefined; }>; installPluginFromUrl: (pluginDownloadUrl: string, force?: boolean) => Promise<{ id: string; name?: string | undefined; description?: string | undefined; homepage_url?: string | undefined; support_url?: string | undefined; release_notes_url?: string | undefined; icon_path?: string | undefined; version: string; min_server_version?: string | undefined; server?: import("../types/plugins").PluginManifestServer | undefined; backend?: import("../types/plugins").PluginManifestServer | undefined; webapp?: import("../types/plugins").PluginManifestWebapp | undefined; settings_schema?: import("../types/plugins").PluginSettingsSchema | undefined; props?: Record | undefined; }>; getPlugins: () => Promise; getMarketplacePlugins: (filter: string, localOnly?: boolean) => Promise; installMarketplacePlugin: (id: string, version: string) => Promise; getPluginStatuses: () => Promise; removePlugin: (pluginId: string) => Promise; getWebappPlugins: () => Promise; enablePlugin: (pluginId: string) => Promise; disablePlugin: (pluginId: string) => Promise; linkGroupSyncable: (groupID: string, syncableID: string, syncableType: string, patch: SyncablePatch) => Promise; unlinkGroupSyncable: (groupID: string, syncableID: string, syncableType: string) => Promise; getGroupSyncables: (groupID: string, syncableType: string) => Promise; getGroup: (groupID: string) => Promise; getGroupStats: (groupID: string) => Promise; getGroups: (filterAllowReference?: boolean, page?: number, perPage?: number) => Promise; getGroupsByUserId: (userID: string) => Promise; getGroupsNotAssociatedToTeam: (teamID: string, q?: string, page?: number, perPage?: number) => Promise; getGroupsNotAssociatedToChannel: (channelID: string, q?: string, page?: number, perPage?: number, filterParentTeamPermitted?: boolean) => Promise; getGroupsAssociatedToTeam: (teamID: string, q?: string, page?: number, perPage?: number, filterAllowReference?: boolean) => Promise<{ groups: Group[]; total_group_count: number; }>; getGroupsAssociatedToChannel: (channelID: string, q?: string, page?: number, perPage?: number, filterAllowReference?: boolean) => Promise<{ groups: Group[]; total_group_count: number; }>; getAllGroupsAssociatedToTeam: (teamID: string, filterAllowReference?: boolean, includeMemberCount?: boolean) => Promise; getAllGroupsAssociatedToChannelsInTeam: (teamID: string, filterAllowReference?: boolean) => Promise<{ groups: RelationOneToOne; }>; getAllGroupsAssociatedToChannel: (channelID: string, filterAllowReference?: boolean, includeMemberCount?: boolean) => Promise; patchGroupSyncable: (groupID: string, syncableID: string, syncableType: string, patch: SyncablePatch) => Promise; patchGroup: (groupID: string, patch: GroupPatch) => Promise; getRedirectLocation: (urlParam: string) => Promise | Promise<{ location: string; }>; createBot: (bot: Bot) => Promise; patchBot: (botUserId: string, botPatch: BotPatch) => Promise; getBot: (botUserId: string) => Promise; getBots: (page?: number, perPage?: number) => Promise; getBotsIncludeDeleted: (page?: number, perPage?: number) => Promise; getBotsOrphaned: (page?: number, perPage?: number) => Promise; disableBot: (botUserId: string) => Promise; enableBot: (botUserId: string) => Promise; assignBot: (botUserId: string, newOwnerId: string) => Promise; teamMembersMinusGroupMembers: (teamID: string, groupIDs: string[], page: number, perPage: number) => Promise; channelMembersMinusGroupMembers: (channelID: string, groupIDs: string[], page: number, perPage: number) => Promise; getSamlMetadataFromIdp: (samlMetadataURL: string) => Promise; setSamlIdpCertificateFromMetadata: (certData: string) => Promise; getInProductNotices: (teamId: string, client: string, clientVersion: string) => Promise; updateNoticesAsViewed: (noticeIds: string[]) => Promise; doFetch: (url: string, options: Options) => Promise; doFetchWithResponse: (url: string, options: Options) => Promise>; trackEvent(category: string, event: string, props?: any): void; pageVisited(category: string, name: string): void; } export declare class ClientError extends Error implements ServerError { url?: string; intl?: { id: string; defaultMessage: string; values?: any; }; server_error_id?: string; status_code?: number; constructor(baseUrl: string, data: ServerError); }