import React from "react";
import { Command as CommandPrimitive } from "cmdk";
/**
 * Props for {@link CommandDialog}
 *
 * Extends [DialogProps](https:/www.radix-ui.com/primitives/docs/components/dialog#root)
 */
interface CommandDialogProps {
    open: boolean;
    onOpenChange: (open: boolean) => void;
    children?: React.ReactNode;
}
/**
 * Root component that provides functionality and styling
 *
 * Based on {@link https:/ui.shadcn.com/docs/components/command Command}
 */
declare function Command({ children, className, ref, value, defaultValue, onValueChange, loop, shouldFilter, }: React.ComponentProps<typeof CommandPrimitive>): React.JSX.Element;
declare namespace Command {
    var displayName: string;
}
/**
 * Modal dialog wrapper with custom styling
 *
 * Based on {@link https:/ui.shadcn.com/docs/components/command Command}
 *
 * @example
 * ```tsx
 *  function MyComponent() {
 *      const [open, setOpen] = useState(false);
 *
        return (
            <CommandDialog open={open} onOpenChange={setOpen}>
                ...
            </CommandDialog>
        );
    }
 * ```
 */
declare function CommandDialog({ open, onOpenChange, children }: CommandDialogProps): React.JSX.Element;
/**
 * Search input field with magnifying glass icon
 *
 * Based on {@link https:/ui.shadcn.com/docs/components/command Command}
 *
 * @example
 * ```tsx
 * <CommandInput placeholder="Type a command or search..." />
 * ```
 */
declare function CommandInput({ className, ref, value, defaultValue, onValueChange, placeholder, disabled, }: React.ComponentProps<typeof CommandPrimitive.Input>): React.JSX.Element;
declare namespace CommandInput {
    var displayName: string;
}
/**
 * Scrollable container for list items
 *
 * Based on {@link https:/ui.shadcn.com/docs/components/command Command}
 */
declare function CommandList({ children, className, ref }: React.ComponentProps<typeof CommandPrimitive.List>): React.JSX.Element;
declare namespace CommandList {
    var displayName: string;
}
/**
 * Empty state component when no items match search
 *
 * Based on {@link https:/ui.shadcn.com/docs/components/command Command}
 */
declare function CommandEmpty({ children, className, ref }: React.ComponentProps<typeof CommandPrimitive.Empty>): React.JSX.Element;
declare namespace CommandEmpty {
    var displayName: string;
}
/**
 * Container for grouping related items
 *
 * Based on {@link https:/ui.shadcn.com/docs/components/command Command}
 *
 * @example
 * ```tsx
 *  <CommandGroup heading="Settings">
 *      ...
 *  </CommandGroup>
 * ```
 */
declare function CommandGroup({ children, heading, className, ref, }: React.ComponentProps<typeof CommandPrimitive.Group>): React.JSX.Element;
declare namespace CommandGroup {
    var displayName: string;
}
/**
 * Visual separator line between groups or items
 *
 * Based on {@link https:/ui.shadcn.com/docs/components/command Command}
 */
declare function CommandSeparator({ className, ref, }: React.ComponentPropsWithoutRef<typeof CommandPrimitive.Separator> & {
    ref?: React.Ref<React.ComponentRef<typeof CommandPrimitive.Separator>>;
}): React.JSX.Element;
declare namespace CommandSeparator {
    var displayName: string;
}
/**
 * Interactive item with selection states
 *
 * Based on {@link https:/ui.shadcn.com/docs/components/command Command}
 */
declare function CommandItem({ children, value, disabled, onSelect, className, ref, }: React.ComponentProps<typeof CommandPrimitive.Item>): React.JSX.Element;
declare namespace CommandItem {
    var displayName: string;
}
/**
 * Display component for keyboard shortcuts
 *
 * Based on {@link https:/ui.shadcn.com/docs/components/command Command}
 */
declare function CommandShortcut({ children, className }: React.HTMLAttributes<HTMLSpanElement>): React.JSX.Element;
declare namespace CommandShortcut {
    var displayName: string;
}
export { Command, CommandDialog, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem, CommandShortcut, CommandSeparator, };
