
import { Styles } from "../../../tasty/styles/types.js";
import { BaseProps, ContainerStyleProps } from "../../../tasty/types.js";
import "../../../tasty/index.js";
import { CubeMenuProps } from "../Menu/Menu.js";
import React, { ReactElement, ReactNode } from "react";
import { FocusStrategy } from "@react-types/shared";

//#region src/components/actions/CommandMenu/CommandMenu.d.ts
interface CommandMenuItem {
  id: string;
  textValue: string;
  keywords?: string[];
  forceMount?: boolean;
  [key: string]: any;
}
interface CubeCommandMenuProps<T> extends BaseProps, ContainerStyleProps, Omit<CubeMenuProps<T>, 'selectedKeys' | 'defaultSelectedKeys' | 'onSelectionChange'> {
  searchPlaceholder?: string;
  searchValue?: string;
  onSearchChange?: (value: string) => void;
  filter?: (textValue: string, inputValue: string) => boolean;
  emptyLabel?: ReactNode;
  searchInputStyles?: Styles;
  headerStyles?: Styles;
  footerStyles?: Styles;
  isLoading?: boolean;
  shouldFilter?: boolean;
  autoFocus?: boolean | FocusStrategy;
  size?: 'medium' | 'large' | (string & {});
  /** Currently selected keys (controlled) */
  selectedKeys?: string[];
  /** Initially selected keys (uncontrolled) */
  defaultSelectedKeys?: string[];
  /** Handler for selection changes */
  onSelectionChange?: (keys: string[]) => void;
}
declare const __CommandMenu: (<T>(props: CubeCommandMenuProps<T> & React.RefAttributes<HTMLDivElement>) => ReactElement) & {
  Trigger: React.ForwardRefExoticComponent<any>;
  Item: any;
  Section: any;
  displayName: string;
};
//#endregion
export { CommandMenuItem, CubeCommandMenuProps, __CommandMenu };
//# sourceMappingURL=CommandMenu.d.ts.map