import type { BreadcrumbProps } from 'ant-design-vue';
import type { WaterMarkProps } from '../components/WaterMark';
import type { PureSettings } from '../defaultSettings';
import type { MenuDataItem } from '../typing';
import type { BreadcrumbListReturn } from '../utils/getBreadcrumbProps';
type UpdateAction<T> = (nextState: T) => T;
export type RouteContextType = {
    breadcrumb?: BreadcrumbListReturn;
    menuData?: MenuDataItem[];
    isMobile?: boolean;
    prefixCls?: string;
    collapsed?: boolean;
    hasSiderMenu?: boolean;
    hasHeader?: boolean;
    siderWidth?: number;
    isChildrenLayout?: boolean;
    hasFooterToolbar?: boolean;
    hasFooter?: boolean;
    hasPageContainer?: number;
    setHasFooterToolbar?: (newState: number | UpdateAction<number>) => void;
    setHasPageContainer?: (newState: number | UpdateAction<number>) => void;
    pageTitleInfo?: {
        title: string;
        id: string;
        pageName: string;
    };
    matchMenus?: MenuDataItem[];
    matchMenuKeys?: string[];
    currentMenu?: PureSettings & MenuDataItem;
    breadcrumbProps?: BreadcrumbProps;
    waterMarkProps?: WaterMarkProps;
} & Partial<PureSettings>;
export declare const RouteContext: {
    Provider: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        value: {
            type: import("vue").PropType<RouteContextType>;
            required: true;
        };
    }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        value: {
            type: import("vue").PropType<RouteContextType>;
            required: true;
        };
    }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
    useContext: () => RouteContextType;
};
export {};
