import { PluginObject } from 'vue';
import { BackdropMode, PortalMixinImpl } from '../../mixins/portal/portal';
import { ModulIconName } from '../../utils/modul-icons/modul-icons';
import { ModulVue } from '../../utils/vue/vue';
import { MIconButtonSkin } from '../icon-button/icon-button';
import { MLinkMode } from '../link/link';
export declare enum MToastTimeout {
    none = "none",
    xshort = "xshort",
    short = "short",
    long = "long"
}
export declare enum MToastPosition {
    TopLeft = "top-left",
    TopCenter = "top-center",
    TopRight = "top-right",
    BottomLeft = "bottom-left",
    BottomCenter = "bottom-center",
    BottomRight = "bottom-right"
}
export declare enum MToastState {
    Confirmation = "confirmation",
    Information = "information",
    Warning = "warning",
    Error = "error"
}
export declare enum MToastDuration {
    MobileLong = 5000,
    MobileShort = 3000,
    MobileXShort = 1500,
    DesktopLong = 8000,
    DesktopShort = 5000,
    DesktopXShort = 2500,
    None = 0
}
export declare class MToast extends ModulVue implements PortalMixinImpl {
    readonly state: MToastState;
    readonly position: MToastPosition;
    readonly timeout: MToastTimeout;
    open: boolean;
    readonly actionLabel: string;
    readonly icon: boolean;
    offset: string;
    readonly closeButton: boolean;
    $refs: {
        toast: HTMLElement;
    };
    readonly buttonMode: MLinkMode;
    readonly closeButtonSkin: MIconButtonSkin;
    readonly closeButtonIconeName: ModulIconName;
    showScreenReaderText: boolean;
    private timerCloseToast;
    private internalTimeout;
    private instantTimeoutStart;
    get i18nTypeMessage(): string;
    doCustomPropOpen(value: boolean, el: HTMLElement): boolean;
    private startCloseToast;
    getPortalElement(): HTMLElement;
    getBackdropMode(): BackdropMode;
    handlesFocus(): boolean;
    protected beforeCreate(): void;
    protected mounted(): void;
    convertTimeout(timeout: MToastTimeout): number;
    onAction(event: Event): void;
    onClose(): void;
    get isStateInformation(): boolean;
    get isStateWarning(): boolean;
    get isStateError(): boolean;
    get isStateConfirmation(): boolean;
    get isTop(): boolean;
    get isLeft(): boolean;
    get isCenter(): boolean;
    get isRight(): boolean;
    get isMobile(): boolean;
    getIcon(): string;
    mouseEnterToast(): void;
    mouseLeaveToast(): void;
    private restoreTimeout;
}
declare const ToastPlugin: PluginObject<any>;
export default ToastPlugin;
//# sourceMappingURL=toast.d.ts.map