import { CollectionNode } from "../../collection"; import { ComponentProps, ReactNode, SyntheticEvent } from "react"; import { InternalProps, OmitInternalProps, StyledComponentProps } from "../../shared"; import { ResponsiveProp } from "../../styling"; import { ValidationState } from "../../input"; export declare type MenuSelectionMode = "none" | "single" | "multiple"; export declare const ItemKeyProp = "data-o-ui-key"; declare const DefaultElement = "ul"; export interface InnerMenuProps extends InternalProps, StyledComponentProps { /** * Whether or not the menu should autofocus on render. */ autoFocus?: boolean | number; /** * Default focus target when enabling autofocus. */ autoFocusTarget?: string; /** * React children. */ children: ReactNode; /** * The initial value of `selectedKeys` when uncontrolled. */ defaultSelectedKeys?: string[]; /** * Whether or not the menu items are disabled. */ disabled?: boolean; /** * Whether or not the listbox take up the width of its container. */ fluid?: ResponsiveProp; /** * A collection of nodes to render instead of children. It should only be used if you embed a Menu inside another component. */ nodes?: CollectionNode[]; /** * Called when the selected keys change. * @param {SyntheticEvent} event - React's original event. * @param {String[]} keys - The keys of the selected items.. * @returns {void} */ onSelectionChange?: (event: SyntheticEvent, keys: string[]) => void; /** * A controlled set of the selected item keys. */ selectedKeys?: string[] | null; /** * The type of selection that is allowed. */ selectionMode?: MenuSelectionMode; /** * Whether or not the menu should display as "valid" or "invalid". */ validationState?: ValidationState; } export declare function InnerMenu({ "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, as, autoFocus, autoFocusTarget, children, defaultSelectedKeys, fluid, forwardedRef, id, nodes: nodesProp, onSelectionChange, selectedKeys: selectedKeysProp, selectionMode, validationState, ...rest }: InnerMenuProps): JSX.Element; export declare namespace InnerMenu { var defaultElement: string; } /** * A menu offers a list of choices to the user, such as a set of actions or functions. * * [Documentation](https://orbit.sharegate.design/?path=/docs/menu--default-story) */ export declare const Menu: import("react").ForwardRefExoticComponent, "ref"> & import("react").RefAttributes>; export declare type MenuProps = ComponentProps; export {};