import * as React from "react";
import { Dialog_Model, DialogButton_Builder, DialogListener } from "./DialogModule";
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, label?: React.ReactNode) => DialogButton_Builder;
export declare const DialogButton_Cancel: (onSubmit?: () => void, label?: React.ReactNode) => DialogButton_Builder;
type Props = {};
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) => void;
    __hideDialog: (id?: string) => void;
    render(): React.JSX.Element | null;
    renderTitle: (title?: React.ReactNode) => "" | React.JSX.Element;
    renderContent: (content: React.ReactNode) => number | boolean | Iterable<React.ReactNode> | React.JSX.Element | null | undefined;
    renderButtons: (model: Dialog_Model) => "" | React.JSX.Element | null;
    private onOverlayClicked;
}
export {};
