import { InjectionKey, VNodeChild, ComputedRef } from 'vue'; import { MenuDataItem, FormatLocale } from './typings'; import { PureSettings } from './defaultSettings'; export interface Route { path: string; breadcrumbName: string; children?: Omit[]; } export interface BreadcrumbProps { routes?: Route[]; params?: any; separator?: VNodeChild; itemRender?: (opts: { route: Route; params: any; routes: Array; paths: Array; }) => VNodeChild; } export type BreadcrumbListReturn = Pick>; export interface RouteContextProps extends Partial { menuData: MenuDataItem[]; flatMenuData: MenuDataItem[]; selectedKeys: string[]; openKeys: string[]; locale?: FormatLocale; breadcrumb?: BreadcrumbListReturn | ComputedRef; isMobile?: boolean; collapsed?: boolean; hasSideMenu?: boolean; hasHeader?: boolean; siderWidth?: number; headerHeight?: number; hasSide?: boolean; [key: string]: any; } export declare const defaultRouteContext: { [x: string]: any; menuData: { path: string; name?: (string | symbol) | undefined; meta?: { [x: string]: any; icon?: (string | import('vue').VNode) | undefined; disabled?: boolean | undefined; danger?: boolean | undefined; title?: string | undefined; target?: import('./typings').TargetType; type?: string | undefined; hideChildInMenu?: boolean | undefined; hideInMenu?: boolean | undefined; } | undefined; children?: any[] | undefined; }[]; flatMenuData: { path: string; name?: (string | symbol) | undefined; meta?: { [x: string]: any; icon?: (string | import('vue').VNode) | undefined; disabled?: boolean | undefined; danger?: boolean | undefined; title?: string | undefined; target?: import('./typings').TargetType; type?: string | undefined; hideChildInMenu?: boolean | undefined; hideInMenu?: boolean | undefined; } | undefined; children?: any[] | undefined; }[]; selectedKeys: string[]; openKeys: string[]; locale?: FormatLocale | undefined; breadcrumb?: BreadcrumbListReturn | { routes?: { path: string; breadcrumbName: string; children?: { path: string; breadcrumbName: string; }[] | undefined; }[] | undefined; itemRender?: ((opts: { route: Route; params: any; routes: Array; paths: Array; }) => VNodeChild) | undefined; } | undefined; isMobile?: boolean | undefined; collapsed?: boolean | undefined; hasSideMenu?: boolean | undefined; hasHeader?: boolean | undefined; siderWidth?: number | undefined; headerHeight?: number | undefined; hasSide?: boolean | undefined; theme?: import('./typings').Theme | undefined; menuTheme?: import('ant-design-vue').MenuTheme | undefined; layout?: import('./typings').LayoutType | undefined; fixedHeader?: boolean | undefined; fixSiderbar?: boolean | undefined; title?: string | undefined; iconfontUrl?: string | undefined; splitMenus?: boolean | undefined; }; export declare const routeContextInjectKey: InjectionKey; export declare const createRouteContext: () => { new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins>, () => import('vue').VNode | import('vue').VNode[] | undefined, RouteContextProps, import('vue').ComputedOptions, import('vue').MethodOptions, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {}, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, Readonly>, () => import('vue').VNode | import('vue').VNode[] | undefined, RouteContextProps, import('vue').ComputedOptions, import('vue').MethodOptions, {}>; __isFragment?: never; __isTeleport?: never; __isSuspense?: never; } & import('vue').ComponentOptionsBase>, () => import('vue').VNode | import('vue').VNode[] | undefined, RouteContextProps, import('vue').ComputedOptions, import('vue').MethodOptions, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps; export declare const useRouteContext: () => RouteContextProps; declare const _default: { Provider: { new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins>, () => import('vue').VNode | import('vue').VNode[] | undefined, RouteContextProps, import('vue').ComputedOptions, import('vue').MethodOptions, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {}, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, Readonly>, () => import('vue').VNode | import('vue').VNode[] | undefined, RouteContextProps, import('vue').ComputedOptions, import('vue').MethodOptions, {}>; __isFragment?: never; __isTeleport?: never; __isSuspense?: never; } & import('vue').ComponentOptionsBase>, () => import('vue').VNode | import('vue').VNode[] | undefined, RouteContextProps, import('vue').ComputedOptions, import('vue').MethodOptions, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps; }; export default _default;