import type { $Callback, Signal } from "@dweb-browser/helper/createSignal.ts"; import { SafeEvent, SafeEventTarget, SafeStateEvent } from "../../helper/SafeEventTarget.js"; import type { BasePlugin } from "../base/base.plugin.js"; import type { $Modal, $ModalCallback } from "./window.type.js"; export declare const enum WindowModalState { INIT = "init", OPENING = "opening", OPEN = "open", CLOSING = "closing", CLOSE = "close", DESTROYING = "destroying", DESTROY = "destroy" } type $ModalEvents = { close: SafeEvent; open: SafeEvent; destroy: SafeEvent; statechange: SafeStateEvent<"statechange", WindowModalState>; }; export declare class WindowModalController extends SafeEventTarget<$ModalEvents> { #private; readonly plugin: BasePlugin; readonly modal: $Modal; constructor(plugin: BasePlugin, modal: $Modal, onCallback: Signal<$Callback<[$ModalCallback]>>); protected _init(): void; private setState; get state(): WindowModalState; private isState; protected awaitState(waitState: WindowModalState): any; get isDestroyed(): boolean; open(): Promise; close(): Promise; destroy(): Promise; } export {}; //# sourceMappingURL=WindowModalController.d.ts.map