import { PluginObject } from 'vue';
import { BackdropMode, PortalMixinImpl } from '../../mixins/portal/portal';
import { ModulVue } from '../../utils/vue/vue';
import './modal.scss';
export declare enum MModalSize {
    FullScreen = "full-screen",
    Large = "large",
    Regular = "regular",
    Small = "small"
}
export declare class MModal extends ModulVue implements PortalMixinImpl {
    readonly title: string;
    readonly showCloseButton: boolean;
    readonly size: MModalSize;
    readonly closeOnBackdrop: boolean;
    readonly focusManagement: boolean;
    readonly bodyMaxWidth: boolean;
    /** @deprecated will be removed in v2, please use css variables to customize visuals. */
    readonly paddingBody: boolean;
    readonly refArticle?: HTMLElement;
    readonly closeTitle: string;
    hasKeyboard: boolean;
    $refs: {
        body: HTMLElement;
        modalWrap: HTMLElement;
        article: HTMLElement;
    };
    get titleId(): string | undefined;
    setFocusToPortal(): void;
    setFocusToTrigger(): void;
    closeModal(): void;
    handlesFocus(): boolean;
    doCustomPropOpen(value: boolean): boolean;
    getBackdropMode(): BackdropMode;
    get sizeFullSceen(): boolean;
    get sizeLarge(): boolean;
    get sizeSmall(): boolean;
    getPortalElement(): HTMLElement;
    backdropClick(): void;
    protected mounted(): void;
    protected beforeDestroy(): void;
    private closeModalOnEscape;
}
declare const ModalPlugin: PluginObject<any>;
export default ModalPlugin;
//# sourceMappingURL=modal.d.ts.map