import * as React from 'react';
import { CommandItemData } from '../command/index.js';
export { CommandAPI, CommandItemData, CommandState, CommandProps as CoreCommandProps, commandGroupVariants, commandInputVariants, commandItemVariants, commandVariants } from '../command/index.js';

interface CommandContextValue {
    search: string;
    onSearch: (query: string) => void;
    selectedIndex: number;
    onSelect: (index: number) => void;
    items: CommandItemData[];
    filteredItems: CommandItemData[];
    registerItem: (item: CommandItemData) => void;
    unregisterItem: (id: string) => void;
    listId: string;
    inputId: string;
}
interface CommandProps {
    open?: boolean;
    onOpenChange?: (open: boolean) => void;
    filter?: (value: string, search: string) => boolean;
    className?: string;
    children?: React.ReactNode;
}
declare function Command({ open, onOpenChange, filter, className, children, }: CommandProps): React.FunctionComponentElement<React.ProviderProps<CommandContextValue | null>>;
declare namespace Command {
    var displayName: string;
}
interface CommandInputProps extends React.InputHTMLAttributes<HTMLInputElement> {
}
declare const CommandInput: React.ForwardRefExoticComponent<CommandInputProps & React.RefAttributes<HTMLInputElement>>;
interface CommandListProps extends React.HTMLAttributes<HTMLDivElement> {
}
declare const CommandList: React.ForwardRefExoticComponent<CommandListProps & React.RefAttributes<HTMLDivElement>>;
interface CommandEmptyProps extends React.HTMLAttributes<HTMLDivElement> {
}
declare const CommandEmpty: React.ForwardRefExoticComponent<CommandEmptyProps & React.RefAttributes<HTMLDivElement>>;
interface CommandGroupProps extends React.HTMLAttributes<HTMLDivElement> {
    heading?: string;
}
declare const CommandGroup: React.ForwardRefExoticComponent<CommandGroupProps & React.RefAttributes<HTMLDivElement>>;
interface CommandItemProps extends React.HTMLAttributes<HTMLDivElement> {
    value?: string;
    disabled?: boolean;
    onSelect?: () => void;
}
declare const CommandItem: React.ForwardRefExoticComponent<CommandItemProps & React.RefAttributes<HTMLDivElement>>;
interface CommandSeparatorProps extends React.HTMLAttributes<HTMLDivElement> {
}
declare const CommandSeparator: React.ForwardRefExoticComponent<CommandSeparatorProps & React.RefAttributes<HTMLDivElement>>;

export { Command, CommandEmpty, type CommandEmptyProps, CommandGroup, type CommandGroupProps, CommandInput, type CommandInputProps, CommandItem, type CommandItemProps, CommandList, type CommandListProps, type CommandProps, CommandSeparator, type CommandSeparatorProps };
