import { PluginObject } from 'vue';
import { BackdropMode, PortalMixinImpl } from '../../mixins/portal/portal';
import { ModulVue } from '../../utils/vue/vue';
import { MButtonSkin } from '../button/button';
export declare enum MDialogWidth {
    Default = "default",
    Large = "large"
}
export declare enum MDialogState {
    Default = "default",
    Warning = "warning",
    Confirmation = "confirmation",
    Information = "information",
    Error = "error"
}
export declare class MDialog extends ModulVue implements PortalMixinImpl {
    title: string;
    message: string;
    okLabel: string | undefined;
    okPrecision: string | undefined;
    okButtonSkin: MButtonSkin;
    secBtn: boolean;
    secBtnLabel: string | undefined;
    secBtnPrecision: string | undefined;
    btnWidth: string;
    cancelLabel: string | undefined;
    negativeLink: boolean;
    hint: string;
    width: string;
    state: MDialogState;
    handlesFocus(): boolean;
    openDialog(): void;
    doCustomPropOpen(value: boolean): boolean;
    getBackdropMode(): BackdropMode;
    getPortalElement(): HTMLElement;
    onOk(event: Event): void;
    onSecondaryBtn(event: Event): void;
    onCancel(event: Event): void;
    private readonly hasDefaultSlot;
    private readonly hasFooterSlot;
    private readonly hasHint;
    private readonly hasTitle;
    private readonly hasMessage;
    private readonly hasOkLabel;
    private readonly hasOkPrecision;
    private readonly hasSecBtnLabel;
    private readonly hasSecBtnPrecision;
    private readonly dialogStyles;
    private readonly hasCancelLabel;
    private readonly hasWidthLarge;
    private readonly getState;
}
declare const DialogPlugin: PluginObject<any>;
export default DialogPlugin;
//# sourceMappingURL=dialog.d.ts.map