import '../css/dialog.webgen.static.css'; import { ButtonStyle } from "../types"; import { ViewOptions, ViewOptionsFunc } from "../types/ViewOptions"; import { Color } from "./Color"; declare type DialogeFinal = void | undefined | 'close' | 'remove'; declare type DialogButtonAction = ((() => DialogeFinal) | (() => Promise) | 'close' | 'remove'); export declare type DialogButton = { label: string; action: DialogButtonAction; color: Color; state?: ButtonStyle.Inline | ButtonStyle.Normal | ButtonStyle.Secondary; }; export declare type DialogData = { addButton: (label: string, action: DialogButtonAction, style?: DialogButton["color"], state?: DialogButton["state"]) => DialogData; setTitle: (text: string) => DialogData; allowUserClose: () => DialogData; addClass: (...classes: string[]) => DialogData; onClose: (action: () => void) => DialogData; close: () => DialogData; open: () => DialogData; remove: () => void; unsafeViewOptions: () => ViewOptions; }; export declare function Dialog(render: ViewOptionsFunc): DialogData; export {};