import { ComputedRef, InjectionKey, DefineComponent, VNode, RendererNode, RendererElement, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
import { Key } from '../../../_util/type';
import { StoreMenuInfo } from './useMenuContext';
export declare const OVERFLOW_KEY = "$$__vc-menu-more__key";
declare const KeyPathContext: InjectionKey<{
    parentEventKeys: ComputedRef<string[]>;
    parentKeys: ComputedRef<Key[]>;
    parentInfo: StoreMenuInfo;
}>;
declare const useInjectKeyPath: () => {
    parentEventKeys: ComputedRef<string[]>;
    parentKeys: ComputedRef<Key[]>;
    parentInfo: StoreMenuInfo;
};
declare const useProvideKeyPath: (eventKey: string, key: Key, menuInfo: StoreMenuInfo) => ComputedRef<Key[]>;
export declare const PathContext: DefineComponent<{}, () => VNode<RendererNode, RendererElement, {
    [key: string]: any;
}>[] | undefined, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
export declare const useMeasure: () => boolean;
export { KeyPathContext, useInjectKeyPath, useProvideKeyPath };
export default useProvideKeyPath;
