import { PluginObject } from 'vue';
import { ModulVue } from '../../utils/vue/vue';
import { MAutoHorizontalScrollGradientStyle } from './../auto-horizontal-scroll/auto-horizontal-scroll';
import './navbar-unscoped.scss';
export declare abstract class BaseNavbar extends ModulVue {
}
export interface Navbar {
    model: string;
    multiline: boolean;
    autoSelect: boolean;
    updateValue(value: string): void;
    onMouseover(event: Event, value: string): void;
    onMouseleave(event: Event, value: string): void;
    onClick(event: Event, value: string): void;
}
export declare enum MNavbarSkin {
    Any = "any",
    NavMain = "nav-main",
    NavSub = "nav-sub",
    NavSoft = "nav-soft",
    TabLight = "tab-light",
    TabLightMain = "tab-light-main",
    TabDark = "tab-dark",
    TabDarkMain = "tab-dark-main",
    TabArrow = "tab-arrow",
    TabUnderline = "tab-underline",
    TabSoft = "tab-soft",
    Plain = "plain"
}
export declare enum MNavbarMaxWidth {
    XLarge = "1400px",
    Large = "1200px",
    Regular = "1000px",
    Small = "800px",
    Text = "720px"
}
export declare class MNavbar extends BaseNavbar implements Navbar {
    readonly selected: string;
    readonly skin: string;
    readonly disabled: boolean;
    readonly navigationArrow: boolean;
    readonly maxWidth: string;
    readonly multiline: boolean;
    readonly titleButtonLeft: string;
    readonly titleButtonRight: string;
    readonly buttonGradientStyle?: MAutoHorizontalScrollGradientStyle;
    readonly autoSelect: boolean;
    $refs: {
        buttonRight: HTMLElement;
        buttonLeft: HTMLElement;
        list: HTMLElement;
        wrap: HTMLElement;
        contents: HTMLElement;
    };
    animReady: boolean;
    minWidth: string;
    componentWidth: string;
    horizontalScrollOffset: number;
    private internalValue;
    private observer;
    private navbarItemsInterne;
    emitUpdateSelected(value: string): void;
    emitClick(event: MouseEvent, value: string): void;
    emitMouseover(event: MouseEvent, value: string): void;
    emitMouseleave(event: MouseEvent, value: string): void;
    setAndUpdate(value: any): void;
    protected created(): void;
    protected mounted(): void;
    protected beforeDestroy(): void;
    get model(): string;
    set model(value: string);
    updateValue(value: string): void;
    onMouseover(event: MouseEvent, value: string): void;
    onMouseleave(event: MouseEvent, value: string): void;
    onClick(event: MouseEvent, value: string): void;
    get gradientStyle(): MAutoHorizontalScrollGradientStyle;
    get hasGradient(): boolean;
    get isTabLightSkin(): boolean;
    get isTabDarkSkin(): boolean;
    get isTabUnderlineSkin(): boolean;
    get isTabArrowSkin(): boolean;
    onPreviousButtonClick(): Promise<void>;
    onNextButtonClick(): Promise<void>;
    private get selectedNavbarItem();
    private resizeComponant;
    private setSelectedIndicatorPosition;
    private setNavbarItems;
    private scrollToSelected;
}
declare const NavbarPlugin: PluginObject<any>;
export default NavbarPlugin;
//# sourceMappingURL=navbar.d.ts.map