import * as React from "react";
import { Dialog_Model, DialogButton_Builder, DialogListener } from "../modules/dialog-module";
import { BaseComponent } from "../core/BaseComponent";
export declare const DialogButton_Submit: (onSubmit: () => void, label?: React.ReactNode) => DialogButton_Builder;
export declare const DialogButton_Save: (onSave: () => void, label?: React.ReactNode) => DialogButton_Builder;
export declare const DialogButton_Undo: (onSave: () => void, label?: React.ReactNode) => DialogButton_Builder;
export declare const DialogButton_Redo: (onSave: () => void, label?: React.ReactNode) => DialogButton_Builder;
export declare const DialogButton_Close: (onSubmit?: (() => void) | undefined, label?: React.ReactNode) => DialogButton_Builder;
export declare const DialogButton_Cancel: (onSubmit?: (() => void) | undefined, label?: React.ReactNode) => DialogButton_Builder;
declare type Props = {};
declare type State = {
    model?: Dialog_Model;
};
export declare class Dialog extends BaseComponent<Props, State> implements DialogListener {
    constructor(props: Props);
    static closeWithEsc(e: any): void;
    showDialog: (model?: Dialog_Model | undefined) => void;
    stopPropagation: (e: React.MouseEvent<Element, MouseEvent>) => void;
    render(): JSX.Element | null;
    renderTitle: (title?: React.ReactNode) => "" | JSX.Element;
    renderContent: (content: React.ReactNode) => {} | null | undefined;
    renderButtons: (model: Dialog_Model) => JSX.Element | null;
    private onOverlayClicked;
}
export {};
