import type { Emitter } from '@mantou/gem/lib/decorators'; import { GemElement, TemplateResult } from '@mantou/gem/lib/element'; import { DyPromise } from '../lib/utils'; import './button'; import './divider'; import './scroll-box'; export interface ModalOptions { header?: string | TemplateResult; body?: string | TemplateResult; footer?: string | TemplateResult; /**render body only */ customize?: boolean; maskClosable?: boolean; open?: boolean; disableDefaultCancelBtn?: boolean; disableDefaultOKBtn?: boolean; dangerDefaultOkBtn?: boolean; cancelText?: string; okText?: string; } export interface ModalOpenOptions { prepareClose?: (ele: T) => void | Promise; prepareOk?: (ele: T) => void | Promise; } export declare class DuoyunModalElement extends GemElement { #private; static dialog: string; static divider: string; static header: string; static body: string; static unnamed: string; static footer: string; open: boolean; customize: boolean; maskClosable: boolean; okText: string; cancelText: string; disableDefaultCancelBtn: boolean; disableDefaultOKBtn: boolean; dangerDefaultOkBtn: boolean; header: string; body: string; close: Emitter; ok: Emitter; maskclick: Emitter; openAnimation: PropertyIndexedKeyframes | Keyframe[]; closeAnimation: PropertyIndexedKeyframes | Keyframe[]; closing: boolean; headerSlot?: string | TemplateResult; bodySlot?: string | TemplateResult; footerSlot?: string | TemplateResult; static open(options: ModalOptions & ModalOpenOptions): DyPromise & { modal: DuoyunModalElement; }; static confirm(body: string | TemplateResult | Record, options?: ModalOptions): DyPromise & { modal: DuoyunModalElement; }; constructor(options?: ModalOptions); render: () => TemplateResult; } export declare const Modal: typeof DuoyunModalElement; //# sourceMappingURL=modal.d.ts.map