import type { VueNode } from '@antdv/pro-utils';
import type { AffixProps, BreadcrumbProps, SpinProps } from 'ant-design-vue';
import type { GenerateStyle } from 'ant-design-vue/es/theme/internal';
import type { PageHeaderTabConfig } from '.';
import type { WithFalse } from '../../typing';
import type { FooterToolbarProps } from '../FooterToolbar';
import type { PageHeaderProps } from '../PageHeader';
import type { WaterMarkProps } from '../WaterMark';
import type { PageContainerToken, pageContainerToken } from './style';
export type PageContainerProps = {
    title?: VueNode | false;
    content?: VueNode;
    extraContent?: VueNode;
    prefixCls?: string;
    footer?: VueNode[];
    token?: pageContainerToken;
    header?: Partial<PageHeaderProps> & {
        children?: VueNode;
    };
    pageHeaderRender?: WithFalse<(props: PageContainerProps) => VueNode>;
    affixProps?: Omit<AffixProps, 'children'>;
    loading?: boolean | SpinProps | VueNode;
    breadcrumbRender?: PageHeaderProps['breadcrumbRender'] | false;
    waterMarkProps?: WaterMarkProps;
    breadcrumb?: BreadcrumbProps;
    children?: VueNode;
    stylish?: GenerateStyle<PageContainerToken>;
    footerStylish?: GenerateStyle<PageContainerToken>;
    footerToolBarProps?: FooterToolbarProps;
} & PageHeaderTabConfig & Omit<PageHeaderProps, 'title' | 'footer' | 'breadcrumbRender' | 'breadcrumb'>;
