import { RenderStrategyProps } from '../../utils/use-render-strategy';
import { PolymorphicProps } from '../factory';
import { UseMenuReturn } from './use-menu';
import { RootEmits as PresenceEmits } from '../presence/presence.types';
import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
interface RootProviderProps {
    value: UseMenuReturn;
}
export interface MenuRootProviderBaseProps extends RootProviderProps, RenderStrategyProps, PolymorphicProps {
}
export interface MenuRootProviderProps extends MenuRootProviderBaseProps {
}
export interface MenuRootProviderEmits extends PresenceEmits {
}
declare const _default: __VLS_WithTemplateSlots< DefineComponent<MenuRootProviderProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
    exitComplete: () => any;
}, string, PublicProps, Readonly<MenuRootProviderProps> & Readonly<{
    onExitComplete?: (() => any) | undefined;
}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>, {
    default?(_: {}): any;
}>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
