/// <reference path="../../../../../src/@types/@kano/common/index.d.ts" />
export interface IDialogBaseOptions {
    [K: string]: any;
    fitInto?: HTMLElement;
    overlayInto?: HTMLElement;
}
export declare type DialogElement<T extends HTMLElement = HTMLElement> = T & {
    open(): void;
    close(): void;
    refit(): void;
    backdropElement: HTMLElement;
};
export declare abstract class Base<T extends DialogElement> {
    protected fitInto: HTMLElement;
    protected overlayInto?: HTMLElement;
    root: T;
    private _onDidOpen;
    readonly onDidOpen: import("@kano/common/index.js").IEvent<void>;
    constructor(opts?: IDialogBaseOptions);
    open(): void;
    close(): void;
    refit(): void;
    sizeBackdrop(): void;
    resetBackdropSizing(): void;
    abstract createDom(opts: IDialogBaseOptions): T;
    createButton(label: string): HTMLButtonElement;
    dispose(): void;
}
export default Base;
