import { default as ApiClient } from './api'; import { default as FeedClient } from './clients/feed'; import { default as MessageClient } from './clients/messages'; import { default as MsTeamsClient } from './clients/ms-teams'; import { default as ObjectClient } from './clients/objects'; import { default as Preferences } from './clients/preferences'; import { default as SlackClient } from './clients/slack'; import { default as UserClient } from './clients/users'; import { AuthenticateOptions, KnockOptions, LogLevel, UserId, UserIdOrUserWithProperties } from './interfaces'; declare class Knock { readonly apiKey: string; host: string; private apiClient; userId: string | undefined | null; userToken?: string; logLevel?: LogLevel; readonly branch?: string; private readonly disconnectOnPageHidden?; private tokenExpirationTimer; readonly feeds: FeedClient; readonly objects: ObjectClient; readonly preferences: Preferences; readonly slack: SlackClient; readonly msTeams: MsTeamsClient; readonly user: UserClient; readonly messages: MessageClient; constructor(apiKey: string, options?: KnockOptions); client(): ApiClient; /** * @deprecated Passing `userId` as a `string` is deprecated and will be removed in a future version. * Please pass a `user` object instead containing an `id` value. * example: * ```ts * knock.authenticate({ id: "user_123" }); * ``` */ authenticate(userIdOrUserWithProperties: UserId, userToken?: Knock["userToken"], options?: AuthenticateOptions): never; authenticate(userIdOrUserWithProperties: UserIdOrUserWithProperties, userToken?: Knock["userToken"], options?: AuthenticateOptions): void; failIfNotAuthenticated(): void; isAuthenticated(checkUserToken?: boolean): boolean; teardown(): void; log(message: string, force?: boolean): void; /** * Initiates an API client */ private createApiClient; private maybeScheduleUserTokenExpiration; /** * Returns the user id from the given userIdOrUserWithProperties * @param userIdOrUserWithProperties - The user id or user object * @returns The user id * @throws {Error} If the user object does not contain an `id` property */ private getUserId; } export default Knock; //# sourceMappingURL=knock.d.ts.map