export type UserCredentials = { apiKey: string; userExternalId?: never; userEmail: string; userHmac?: string; authToken?: never; } | { apiKey: string; userExternalId: string; userEmail?: never; userHmac?: string; authToken?: never; } | { apiKey?: never; userExternalId?: never; userEmail?: never; userHmac?: never; authToken: string; }; export type ClientOptions = { host?: string; } & UserCredentials; export type ChannelToken = { id: string; created_at: string; updated_at: string; discarded_at: string | null; }; export declare class IntegrationClient { #private; constructor(key: string, { host, ...auth }: ClientOptions); startInstallation(): Promise; getToken(id: string): Promise; getTokens(): Promise; deleteToken(id: string): Promise; createToken(token: Partial>): Promise; }