import { SubscriptionHandler } from "@amazon-connect/core"; import { AppConfig, ConfigBase } from "@amazon-connect/workspace-types"; import { SetIframeOptions } from "../app"; import { CurrentState } from "../component-state"; import { StateChanged } from "./state-changed-types"; type ExtractConfig = T extends { config: Readonly; } ? U : never; export interface GetState { getState(): Promise; } export interface ReadonlyConfig { config: Readonly; } export interface Host, TConfig extends ConfigBase = ExtractConfig> extends GetState, ReadonlyConfig { readonly instanceId: string; readonly connectionId: string; onStateChanged(handler: SubscriptionHandler>): void; offStateChanged(handler: SubscriptionHandler>): void; onProvisioned(handler: SubscriptionHandler>): void; offProvisioned(handler: SubscriptionHandler>): void; onRunning(handler: SubscriptionHandler>): void; offRunning(handler: SubscriptionHandler>): void; onError(handler: SubscriptionHandler>): void; offError(handler: SubscriptionHandler>): void; } export interface IFrameHost, TConfig extends ConfigBase = ExtractConfig> { setIFrame(iframe: HTMLIFrameElement, setIframeOptions?: SetIframeOptions): void; } export {}; //# sourceMappingURL=host.d.ts.map