import Metrics from "@webex/internal-plugin-metrics/dist/types/new-metrics"; export type ServiceGroup = "discovery" | "override" | "preauth" | "postauth" | "signin"; type HttpResponse = { statusCode: number; body: object; }; export interface WebexAuthorisation { initiateLogin?: (options: WebexInitiateLoginOptions) => Promise; ready: Promise; } export interface WebexInitiateLoginOptions { emailHash: string; state?: Record; separateWindow?: { width: number; height: number; }; } export interface WebexServices { waitForCatalog(serviceGroup: ServiceGroup, timeout?: number): Promise; get(serviceName: string): string | undefined; } export interface WebexInstance { request: (...args: unknown[]) => Promise; refresh: () => Promise; authorization?: WebexAuthorisation; credentials: { canAuthorize: () => boolean; supertoken: { access_token?: string; refresh_token?: string; }; }; config: { credentials: { client_id: string; client_secret: string; }; }; ready: () => boolean; once?: (event: string, callback: () => void) => void; internal: { newMetrics?: Metrics; device?: { registered?: boolean; register?: () => Promise; }; services: WebexServices; }; } export {}; //# sourceMappingURL=WebexInstance.d.ts.map