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 enum MDialogMessageStyle {
    LargeAndCenter = "large-and-center",
    Regular = "regular"
}
export declare class MDialog extends ModulVue implements PortalMixinImpl {
    readonly title: string;
    readonly message: string;
    readonly okLabel?: string;
    readonly okPrecision?: string;
    readonly okButtonSkin: MButtonSkin;
    readonly secBtn: boolean;
    readonly secBtnLabel: string | undefined;
    readonly secBtnPrecision: string | undefined;
    readonly btnWidth: string;
    cancelLabel: string | undefined;
    readonly negativeLink: boolean;
    readonly hint: string;
    readonly width: string;
    readonly state: MDialogState;
    readonly messageStyle: MDialogMessageStyle;
    handlesFocus(): boolean;
    openDialog(): void;
    doCustomPropOpen(value: boolean): boolean;
    getBackdropMode(): BackdropMode;
    getPortalElement(): HTMLElement;
    onOk(event: Event): void;
    onSecondaryBtn(event: Event): void;
    onCancel(event: Event): void;
    get dialogStyles(): {
        width: string;
    };
    get isMessageStyleLargeAndCenter(): boolean;
    get hasWidthLarge(): boolean;
    get getState(): string;
}
declare const DialogPlugin: PluginObject<any>;
export default DialogPlugin;
//# sourceMappingURL=dialog.d.ts.map