import { RenderStrategyProps } from '../../utils/use-render-strategy';
import { PolymorphicProps } from '../factory';
import { RootEmits, RootProps } from './menu.types';
import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
import { SelectionDetails, OpenChangeDetails, TriggerValueChangeDetails, HighlightChangeDetails } from '@zag-js/menu';
import { FocusOutsideEvent, InteractOutsideEvent, PointerDownOutsideEvent } from '@zag-js/drawer';
export interface MenuRootBaseProps extends RootProps, RenderStrategyProps, PolymorphicProps {
}
export interface MenuRootProps extends MenuRootBaseProps {
}
export interface MenuRootEmits extends RootEmits {
}
declare const _default: __VLS_WithTemplateSlots< DefineComponent<MenuRootProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
    select: (details: SelectionDetails) => any;
    exitComplete: () => any;
    openChange: (details: OpenChangeDetails) => any;
    "update:open": (open: boolean) => any;
    triggerValueChange: (details: TriggerValueChangeDetails) => any;
    focusOutside: (event: FocusOutsideEvent) => any;
    interactOutside: (event: InteractOutsideEvent) => any;
    pointerDownOutside: (event: PointerDownOutsideEvent) => any;
    highlightChange: (details: HighlightChangeDetails) => any;
    "update:highlightedValue": (highlightedValue: string | null) => any;
    escapeKeyDown: (event: KeyboardEvent) => any;
    requestDismiss: (event: CustomEvent<{
        originalLayer: HTMLElement;
        targetLayer: HTMLElement | undefined;
        originalIndex: number;
        targetIndex: number;
    }>) => any;
}, string, PublicProps, Readonly<MenuRootProps> & Readonly<{
    onSelect?: ((details: SelectionDetails) => any) | undefined;
    onExitComplete?: (() => any) | undefined;
    onOpenChange?: ((details: OpenChangeDetails) => any) | undefined;
    "onUpdate:open"?: ((open: boolean) => any) | undefined;
    onTriggerValueChange?: ((details: TriggerValueChangeDetails) => any) | undefined;
    onFocusOutside?: ((event: FocusOutsideEvent) => any) | undefined;
    onInteractOutside?: ((event: InteractOutsideEvent) => any) | undefined;
    onPointerDownOutside?: ((event: PointerDownOutsideEvent) => any) | undefined;
    onHighlightChange?: ((details: HighlightChangeDetails) => any) | undefined;
    "onUpdate:highlightedValue"?: ((highlightedValue: string | null) => any) | undefined;
    onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
    onRequestDismiss?: ((event: CustomEvent<{
        originalLayer: HTMLElement;
        targetLayer: HTMLElement | undefined;
        originalIndex: number;
        targetIndex: number;
    }>) => any) | undefined;
}>, {
    open: boolean;
    defaultOpen: boolean;
    closeOnSelect: boolean;
    composite: boolean;
    loopFocus: boolean;
    typeahead: boolean;
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>, {
    default?(_: {}): any;
}>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
