import { PropType, SlotsType } from 'vue';
export type BkNavigationType = 'left-right' | 'top-bottom';
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    navWidth: {
        type: (NumberConstructor | StringConstructor)[];
        default: number;
    };
    hoverWidth: {
        type: (NumberConstructor | StringConstructor)[];
        default: number;
    };
    showSideNavTitle: {
        type: BooleanConstructor;
        default: boolean;
    };
    sideTitle: {
        type: StringConstructor;
        default: string;
    };
    headerTitle: {
        type: StringConstructor;
        default: string;
    };
    hoverLeaveDelay: {
        type: NumberConstructor;
        default: number;
    };
    hoverEnterDelay: {
        type: NumberConstructor;
        default: number;
    };
    defaultOpen: BooleanConstructor;
    headHeight: {
        type: (NumberConstructor | StringConstructor)[];
        default: number;
    };
    navigationType: {
        type: PropType<BkNavigationType>;
        default: string;
        validator(v: BkNavigationType): boolean;
    };
    needMenu: {
        type: BooleanConstructor;
        default: boolean;
    };
}>, {
    defaultHeaderTitle: import("vue").Ref<string, string>;
    nav: {
        click: boolean;
        hover: boolean;
        delay: boolean;
        timer: any;
        enterTimer: any;
    };
    onBeforeUnmount: (hook: any, target?: import("vue").ComponentInternalInstance | null) => void;
    handleMouseOver: () => void;
    handleMouseLeave: () => void;
    handleClick: () => void;
    resolveClassName: (cls: string) => string;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("toggle" | "hover" | "leave" | "toggle-click")[], "toggle" | "hover" | "leave" | "toggle-click", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    navWidth: {
        type: (NumberConstructor | StringConstructor)[];
        default: number;
    };
    hoverWidth: {
        type: (NumberConstructor | StringConstructor)[];
        default: number;
    };
    showSideNavTitle: {
        type: BooleanConstructor;
        default: boolean;
    };
    sideTitle: {
        type: StringConstructor;
        default: string;
    };
    headerTitle: {
        type: StringConstructor;
        default: string;
    };
    hoverLeaveDelay: {
        type: NumberConstructor;
        default: number;
    };
    hoverEnterDelay: {
        type: NumberConstructor;
        default: number;
    };
    defaultOpen: BooleanConstructor;
    headHeight: {
        type: (NumberConstructor | StringConstructor)[];
        default: number;
    };
    navigationType: {
        type: PropType<BkNavigationType>;
        default: string;
        validator(v: BkNavigationType): boolean;
    };
    needMenu: {
        type: BooleanConstructor;
        default: boolean;
    };
}>> & Readonly<{
    onToggle?: (...args: any[]) => any;
    onHover?: (...args: any[]) => any;
    onLeave?: (...args: any[]) => any;
    "onToggle-click"?: (...args: any[]) => any;
}>, {
    sideTitle: string;
    navigationType: BkNavigationType;
    navWidth: string | number;
    hoverWidth: string | number;
    showSideNavTitle: boolean;
    headerTitle: string;
    hoverLeaveDelay: number;
    hoverEnterDelay: number;
    defaultOpen: boolean;
    headHeight: string | number;
    needMenu: boolean;
}, SlotsType<{
    default?: () => HTMLElement;
    header?: () => HTMLElement;
    menu?: () => HTMLElement;
    footer?: () => HTMLElement;
    'side-icon'?: () => HTMLElement;
    'side-header'?: () => HTMLElement;
    'side-footer'?: () => HTMLElement;
}>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _default;
