import { ExtractPropTypes, PropType } from 'vue';
import { ConfigurableProps } from '@vexip-ui/config';
import { MenuOptions } from '../menu';
import { LayoutConfig, LayoutFooterLink, LayoutHeaderAction, LayoutInnerClass, LayoutMediaJudger, LayoutMenuProps, LayoutSignType, LayoutUser } from './symbol';
export declare const layoutProps: {
    inherit: PropType<boolean>;
    locale: PropType<Partial<{
        signOut: string;
        signType: string;
        majorColor: string;
        themeMode: string;
    }>>;
    noAside: PropType<boolean>;
    footer: PropType<boolean>;
    tag: PropType<string>;
    menus: PropType<MenuOptions[]>;
    menuProps: PropType<LayoutMenuProps>;
    logo: PropType<string>;
    signName: PropType<string>;
    config: PropType<LayoutConfig[]>;
    user: PropType<LayoutUser>;
    actions: PropType<LayoutHeaderAction[]>;
    expanded: PropType<boolean>;
    reduced: PropType<boolean>;
    avatarCircle: PropType<boolean>;
    signType: PropType<"aside" | "header">;
    headerFixed: PropType<string | boolean | LayoutMediaJudger>;
    asideFixed: PropType<string | boolean | LayoutMediaJudger>;
    copyright: PropType<string>;
    links: PropType<LayoutFooterLink[]>;
    colors: PropType<string[]>;
    color: PropType<string>;
    miniHeaderSign: PropType<string | boolean | LayoutMediaJudger>;
    verticalLinks: PropType<string | boolean | LayoutMediaJudger>;
    darkMode: PropType<boolean>;
    fixedMain: PropType<boolean>;
    fitWindow: PropType<boolean>;
    innerClasses: PropType<LayoutInnerClass>;
    noHeader: PropType<boolean>;
    noMasker: PropType<boolean>;
    onExpandedChange: PropType<((expanded: boolean) => void) | ((expanded: boolean) => void)[]>;
    onReducedChange: PropType<((reduced: boolean) => void) | ((reduced: boolean) => void)[]>;
    onSignClick: PropType<((event: MouseEvent) => void) | ((event: MouseEvent) => void)[]>;
    onMenuSelect: PropType<((label: string, meta: any) => void) | ((label: string, meta: any) => void)[]>;
    onUserAction: PropType<((label: string, meta: any) => void) | ((label: string, meta: any) => void)[]>;
    onNavChange: PropType<((type: LayoutSignType) => void) | ((type: LayoutSignType) => void)[]>;
    onColorChange: PropType<((color: string) => void) | ((color: string) => void)[]>;
    onToggleTheme: PropType<((isDark: boolean) => void) | ((isDark: boolean) => void)[]>;
    onContentResize: PropType<(() => void) | (() => void)[]>;
};
export type LayoutProps = ExtractPropTypes<typeof layoutProps>;
export type LayoutCProps = ConfigurableProps<LayoutProps, 'menus'>;
export declare const layoutAsideProps: {
    inherit: PropType<boolean>;
    tag: PropType<string>;
    expanded: PropType<boolean>;
    reduced: PropType<boolean>;
    menus: PropType<MenuOptions[]>;
    menuProps: PropType<LayoutMenuProps>;
    logo: PropType<string>;
    signName: PropType<string>;
    fixed: PropType<string | boolean>;
    signType: PropType<"aside" | "header">;
    onExpandedChange: PropType<((expanded: boolean) => void) | ((expanded: boolean) => void)[]>;
    onReducedChange: PropType<((reduced: boolean) => void) | ((reduced: boolean) => void)[]>;
    onSignClick: PropType<((event: MouseEvent) => void) | ((event: MouseEvent) => void)[]>;
    onMenuSelect: PropType<((label: string, meta: any) => void) | ((label: string, meta: any) => void)[]>;
};
export type LayoutAsideProps = ExtractPropTypes<typeof layoutAsideProps>;
export type LayoutAsideCProps = ConfigurableProps<LayoutAsideProps, 'menus'>;
export declare const layoutHeaderProps: {
    inherit: PropType<boolean>;
    locale: PropType<Partial<{
        signOut: string;
        signType: string;
        majorColor: string;
        themeMode: string;
    }>>;
    tag: PropType<string>;
    logo: PropType<string>;
    signName: PropType<string>;
    user: PropType<LayoutUser>;
    userDropped: PropType<boolean>;
    avatarCircle: PropType<boolean>;
    config: PropType<LayoutConfig[]>;
    actions: PropType<LayoutHeaderAction[]>;
    signType: PropType<"aside" | "header">;
    colors: PropType<string[]>;
    color: PropType<string>;
    menus: PropType<MenuOptions[]>;
    menuProps: PropType<LayoutMenuProps>;
    darkMode: PropType<boolean>;
    onNavChange: PropType<((type: LayoutSignType) => void) | ((type: LayoutSignType) => void)[]>;
    onColorChange: PropType<((color: string) => void) | ((color: string) => void)[]>;
    onUserAction: PropType<((label: string, meta: any) => void) | ((label: string, meta: any) => void)[]>;
    onSignClick: PropType<((event: MouseEvent) => void) | ((event: MouseEvent) => void)[]>;
    onDroppedChange: PropType<((target: boolean) => void) | ((target: boolean) => void)[]>;
    onExpandedChange: PropType<((expanded: boolean) => void) | ((expanded: boolean) => void)[]>;
    onReducedChange: PropType<((reduced: boolean) => void) | ((reduced: boolean) => void)[]>;
    onMenuSelect: PropType<((label: string, meta: any) => void) | ((label: string, meta: any) => void)[]>;
    onToggleTheme: PropType<((isDark: boolean) => void) | ((isDark: boolean) => void)[]>;
};
export type LayoutHeaderProps = ExtractPropTypes<typeof layoutHeaderProps>;
export type LayoutHeaderCProps = ConfigurableProps<LayoutHeaderProps, 'user' | 'menus'>;
export declare const layoutMainProps: {
    inherit: PropType<boolean>;
    tag: PropType<string>;
    fixed: PropType<boolean>;
};
export type LayoutMainProps = ExtractPropTypes<typeof layoutMainProps>;
export type LayoutMainCProps = ConfigurableProps<LayoutMainProps>;
export declare const layoutFooterProps: {
    inherit: PropType<boolean>;
    tag: PropType<string>;
    copyright: PropType<string>;
    links: PropType<LayoutFooterLink[]>;
    verticalLinks: PropType<string | boolean>;
};
export type LayoutFooterProps = ExtractPropTypes<typeof layoutFooterProps>;
export type LayoutFooterCProps = ConfigurableProps<LayoutFooterProps>;
