import { type InjectionKey, type HTMLAttributes } from 'vue';
import { type OUIAProps } from '../../helpers/ouia';
import type { MenuItemId } from './common';
export { MenuInjectionKey, MenuItemsKey, type MenuItemId, type MenuItemTrack, type MenuProvide, type MenuState, } from './common';
/** Provided by pf-drilldown-menu to mark its menu as a drilldown submenu */
export declare const DrilldownSubmenuKey: InjectionKey;
interface Props extends OUIAProps, /* @vue-ignore */ Omit {
/** ID of the menu. Generated when not set, it identifies the menus of a drilldown. */
id?: string;
/** Single itemId for single select menus, or array of itemIds for multi select. You can also specify isSelected on the MenuItem. */
selected?: T | null;
/** @beta Indicates if menu contains a flyout menu */
containsFlyout?: boolean;
/** @beta Indicating that the menu should have nav flyout styling */
navFlyout?: boolean;
/** Indicates if menu contains a drilldown menu */
containsDrilldown?: boolean;
/** Indicates if a menu is drilled into */
menuDrilledIn?: boolean;
/** @beta itemId of the currently active item. You can also specify isActive on the MenuItem. */
activeItemId?: MenuItemId;
/** Indicates if the menu should be without the outer box-shadow */
plain?: boolean;
/** Indicates if the menu should be scrollable */
scrollable?: boolean;
/** Determines the accessible role of the menu. For a non-checkbox menu that can have one or more items selected, pass in "listbox". */
role?: string;
/** Callback called when an MenuItems's action button is clicked. You can also specify it within a MenuItemAction. */
onActionClick?: (event: Event, itemId?: MenuItemId, actionId?: unknown) => void;
/** Label of the group of favorite items. Defaults to the `menuFavorites` message. */
favoritesLabel?: string;
}
declare const _default: typeof __VLS_export;
export default _default;
declare const __VLS_export: (__VLS_props: NonNullable>["props"], __VLS_ctx?: __VLS_PrettifyLocal>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable>["expose"], __VLS_setup?: Promise<{
props: import("vue").PublicProps & __VLS_PrettifyLocal<(Props & {
/** Ids of the drilled in menus of a drilldown */
drilledInMenus?: string[];
/** Path of the drilled in item ids of a drilldown */
drilldownItemPath?: MenuItemId[];
/** ID of the currently active menu of a drilldown, defaults to the root menu */
activeMenu?: string | undefined;
}) & {
onSelect?: ((event: Event, itemId: MenuItemId | null | undefined) => any) | undefined;
"onUpdate:selected"?: ((value: T extends unknown[] ? T : T | null) => any) | undefined;
"onUpdate:drilledInMenus"?: ((value: string[]) => any) | undefined;
"onUpdate:drilldownItemPath"?: ((value: MenuItemId[]) => any) | undefined;
"onUpdate:activeMenu"?: ((value: string | undefined) => any) | undefined;
onSearchInputChange?: ((event: Event, value: string) => any) | undefined;
onGetMenuHeight?: ((menuId: string, height: number) => any) | undefined;
onDrillOut?: ((event: Event, toMenuId: string, itemId: MenuItemId | null | undefined) => any) | undefined;
onDrillIn?: ((event: Event, fromMenuId: string, toMenuId: string, itemId: MenuItemId | null | undefined) => any) | undefined;
}> & (typeof globalThis extends {
__VLS_PROPS_FALLBACK: infer P;
} ? P : {});
expose: (exposed: import("vue").ShallowUnwrapRef<{
el: Readonly>;
items: import("vue").Reactive;
handleKeyboard: (event: KeyboardEvent) => void;
}>) => void;
attrs: any;
slots: {
default?: (props?: Record) => any;
};
emit: {
(name: "searchInputChange", event: Event, value: string): void;
(name: "select", event: Event, itemId: MenuItemId | null | undefined): void;
(name: "update:selected", value: T extends unknown[] ? T : T | null): void;
(name: "drillIn", event: Event, fromMenuId: string, toMenuId: string, itemId: MenuItemId | null | undefined): void;
(name: "drillOut", event: Event, toMenuId: string, itemId: MenuItemId | null | undefined): void;
(name: "getMenuHeight", menuId: string, height: number): void;
} & (((event: "update:drilledInMenus", value: string[]) => void) & ((event: "update:drilldownItemPath", value: MenuItemId[]) => void) & ((event: "update:activeMenu", value: string | undefined) => void));
}>) => import("vue").VNode & {
__ctx?: NonNullable>;
};
type __VLS_PrettifyLocal = (T extends any ? {
[K in keyof T]: T[K];
} : {
[K in keyof T as K]: T[K];
}) & {};
//# sourceMappingURL=Menu.vue.d.ts.map