import { VueNode, WithFalse } from "../typings";
import { CSSProperties } from 'vue';
import { ComponentPropsOptions } from '@vue/runtime-core';
import { GlobalHeaderProps } from "../GlobalHeader";
import { SideMenuProps } from "../SideMenu";
import { MenuDataItem } from "../AppMenu";
/**
 * 布局头部渲染
 */
export declare type HeaderRender = (props: GlobalHeaderProps) => VueNode;
/**
 * 布局底部渲染
 */
export declare type FooterRender = (props: any, defaultDom: VueNode) => VueNode;
export interface ProLayoutProps extends GlobalHeaderProps, SideMenuProps {
    prefixCls?: string;
    menus?: MenuDataItem[];
    pure?: boolean;
    /**
     *@name logo url
     */
    logo?: WithFalse<VueNode>;
    title?: string;
    /**
     * @description 是否加载中
     */
    loading?: boolean;
    /**
     * @description 布局头部自定义渲染方法
     */
    headerRender?: WithFalse<HeaderRender>;
    /**
     * @description 布局底部自定义渲染方法
     */
    footerRender?: WithFalse<FooterRender>;
    colSize?: string;
    /**
     * @description 内容区域样式
     */
    contentStyle?: CSSProperties;
    /**
     * @description 禁用内容区域默认的 margin
     */
    disableContentMargin?: boolean;
    collapse?: (collapsed: boolean) => void;
}
export declare const DefaultProLayoutProps: ComponentPropsOptions<ProLayoutProps>;
declare const ProLayout: import("vue").DefineComponent<unknown, object, {}, Record<string, import("@vue/reactivity").ComputedGetter<any> | import("vue").WritableComputedOptions<any>>, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
    [x: string]: any;
}>, {}>;
export default ProLayout;
