import { PropType } from 'vue';
declare function __VLS_template(): {
    slots: {
        logo?(_: {}): any;
        logo?(_: {}): any;
        logoSmall?(_: {}): any;
        logoSmall?(_: {}): any;
        logoSmall?(_: {}): any;
        NavigationMobileLevel2Bar?(_: {}): any;
        NavigationMobileAboveUserWithCloseMenu?(_: {}): any;
        NavigationMobileAboveUser?(_: {}): any;
        NavigationDesktopAboveUser?(_: {}): any;
        NavigationMobileTopBarTopMiddle?(_: {}): any;
    };
    refs: {};
    attrs: Partial<{}>;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    /**
     * if true: then replace avatar picture and usersettings with a login button
     */
    isAnonymousAccess: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * The elements of navigation. They are passed to the navigation for wide and small screens.
     */
    navigation: {
        type: PropType<{
            name: string;
            route: string;
            icon: string;
            default: boolean;
        }[]>;
        required: true;
    };
    /**
     * if true shows the NavigationLevel2Bar
     */
    showNavigationLevel2Bar: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * The name displayed in the menu at the bottom left. Can be the username or the email
     */
    user: {
        type: StringConstructor;
        default: string;
    };
    /**
     * Source of the image of the user, path or image in base64
     */
    imageSrc: {
        type: StringConstructor;
        default: string;
    };
    /**
     * The localStarage key, where the status of the lvl1Bar is stored.
     */
    lvl1BarOpenStateKey: {
        type: StringConstructor;
        required: true;
    };
    /**
     * Allow switching between light and dark Theme.
     */
    allowDarkMode: {
        type: BooleanConstructor;
        default: boolean;
    };
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    logout: (...args: any[]) => void;
    support: (...args: any[]) => void;
    settings: (...args: any[]) => void;
    lvl1BarOpen: (...args: any[]) => void;
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    /**
     * if true: then replace avatar picture and usersettings with a login button
     */
    isAnonymousAccess: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * The elements of navigation. They are passed to the navigation for wide and small screens.
     */
    navigation: {
        type: PropType<{
            name: string;
            route: string;
            icon: string;
            default: boolean;
        }[]>;
        required: true;
    };
    /**
     * if true shows the NavigationLevel2Bar
     */
    showNavigationLevel2Bar: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * The name displayed in the menu at the bottom left. Can be the username or the email
     */
    user: {
        type: StringConstructor;
        default: string;
    };
    /**
     * Source of the image of the user, path or image in base64
     */
    imageSrc: {
        type: StringConstructor;
        default: string;
    };
    /**
     * The localStarage key, where the status of the lvl1Bar is stored.
     */
    lvl1BarOpenStateKey: {
        type: StringConstructor;
        required: true;
    };
    /**
     * Allow switching between light and dark Theme.
     */
    allowDarkMode: {
        type: BooleanConstructor;
        default: boolean;
    };
}>> & Readonly<{
    onLogout?: ((...args: any[]) => any) | undefined;
    onSupport?: ((...args: any[]) => any) | undefined;
    onSettings?: ((...args: any[]) => any) | undefined;
    onLvl1BarOpen?: ((...args: any[]) => any) | undefined;
}>, {
    user: string;
    imageSrc: string;
    isAnonymousAccess: boolean;
    showNavigationLevel2Bar: boolean;
    allowDarkMode: boolean;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
