import { RenderFunction, Slot, VNode } from 'vue';
import type FilteredActions from '../actions/filtered-actions';
import type { ActionsNS } from '../actions/namespace';
import type FormPayload from '../form/definitions/form-payload';
import type FormLayout from '../form/definitions/layout';
export declare namespace Dialogs {
    type DialogTitle = string;
    interface DialogOptions {
        size: number;
    }
    interface CustomComponentMessage {
        componentName: string;
        props?: {
            [key: string]: any;
            layout?: FormLayout;
            payload?: FormPayload;
            actions?: FilteredActions;
            errors?: ActionsNS.ErrorsJSON;
        };
    }
    type DialogSectionContent = string | Slot | RenderFunction | VNode;
    type DialogMessage = DialogSectionContent | CustomComponentMessage;
    interface RunningDialog {
        topOfTheStack: boolean;
        close: Function;
        promise: Promise<any>;
        resolvePromise: Function;
        rejectPromise: Function;
    }
}
//# sourceMappingURL=namespace.d.ts.map