import { PluginObject } from 'vue';
import { ModulVue } from '../../utils/vue/vue';
import { MPopperPlacement } from '../popper/popper';
import './option.scss';
export declare abstract class BaseOption extends ModulVue {
}
export interface MOptionInterface {
    hasIcon: boolean;
    hasItemBorder: boolean;
    maxWidth: string;
    checkIcon(el: boolean): void;
    checkBorder(): void;
    close(): void;
}
export declare enum MOptionsSkin {
    Light = "over-light",
    Dark = "over-dark",
    Mixed = "over-mixed"
}
export declare class MOption extends BaseOption implements MOptionInterface {
    placement: MPopperPlacement;
    skin: MOptionsSkin;
    openTitle: string;
    closeTitle: string;
    disabled: boolean;
    size: string;
    focusManagement: boolean;
    scroll: boolean;
    maxWidth: string;
    hasIcon: boolean;
    hasItemBorder: boolean;
    private open;
    private id;
    checkIcon(icon: boolean): void;
    checkBorder(): void;
    close(): void;
    onOpen(): void;
    onClose(): void;
    onClick($event: MouseEvent): void;
    private getOpenTitle;
    private getCloseTitle;
    get propTitle(): string;
    get optionMaxWidth(): string;
    get ariaControls(): string;
    get menuMaxHeight(): string | undefined;
    get isSkinMixed(): boolean;
    get iconButtonSkin(): string | undefined;
}
declare const OptionPlugin: PluginObject<any>;
export default OptionPlugin;
//# sourceMappingURL=option.d.ts.map