import { ConnectLogger } from "@amazon-connect/core"; import { AppConfig, ConfigBase, LifecycleMessage } from "@amazon-connect/workspace-types"; import { AppContext } from "../app-context"; import { BaseProvider } from "../base-provider"; import { Context } from "../context"; import { LifecycleStageChangeEvent, ServiceCreatedEvent } from "./lifecycle-change"; export type LifecycleChangeParams = { context: TContext; }; export type LifecycleState = { isRunning: true; instanceId: string; config: TConfig; /** * @deprecated This property is deprecated. Use `instanceId` instead. */ appInstanceId: string; /** * @deprecated This property is deprecated. Use `config` instead. */ appConfig: AppConfig; region: string; } | { isRunning: false; instanceId?: string; config?: TConfig; /** * @deprecated This property is deprecated. Use `instanceId` instead. */ appInstanceId?: string; /** * @deprecated This property is deprecated. Use `config` instead. */ appConfig?: AppConfig; region: string; }; type StageChangeEvent = TContext extends AppContext ? LifecycleStageChangeEvent : ServiceCreatedEvent; export declare abstract class LifecycleManager { protected readonly provider: TProvider; protected readonly state: TLifestyleState; protected readonly logger: ConnectLogger; protected isCreated: boolean; protected isDestroyed: boolean; constructor(provider: TProvider); abstract handleLifecycleChangeMessage(msg: LifecycleMessage): Promise; get appState(): TLifestyleState; protected handleCreate(params: LifecycleChangeParams): Promise; protected handleLifecycleChange>(evt: TEvent, action: (evt: TEvent) => Promise, isFatal: boolean): Promise<{ success: boolean; }>; protected sendLifecycleHandlerCompletedMessage(appInstanceId: string, stage: "create" | "destroy"): void; } export {}; //# sourceMappingURL=lifecycle-manager.d.ts.map