import { VoidFunc, VoidFuncNoParam } from "../../../../fd-toolbox/functions/internal-getter-setter-functions";
import { WithParentContextName } from "../../../../fd-toolbox/types/with-parent-context-name";
/**
 * Props for the {@link SearchInput} component.
 */
export interface SearchInputProps extends WithParentContextName {
    /** The current search query to display in the input */
    searchQuery: string;
    /** Event handler called when the search query changes */
    onSearchQueryChanged: VoidFunc<string>;
    /** Optional event handler called when the input is focused or clicked to open a dialog */
    onOpenDialog?: VoidFuncNoParam;
    /** Optional CSS class name for the component's container */
    className?: string;
    /** If `true`, applies a minimal style; otherwise, uses the default, more detailed style */
    useCustomInputStyle?: boolean;
    /** React ref for the input element */
    ref?: React.Ref<HTMLInputElement>;
}
/**
 * A search input component with an integrated icon and keyboard shortcut hints.
 *
 * This component provides a styled input field for search queries, displaying a "Ctrl+K" or "⌘+K"
 * hint when empty. It is designed to be used as a controlled component.
 *
 * @param props - {@link SearchInputProps}
 *
 * @example
 * ```tsx
 * const [query, setQuery] = useState("");
 *
 * <SearchInput
 *     parentContextName="global-search"
 *     searchQuery={query}
 *     onSearchQueryChanged={setQuery}
 *     onOpenDialog={() => console.log("Search dialog opened")}
 * />
 * ```
 */
export declare function SearchInput({ searchQuery, onSearchQueryChanged, onOpenDialog, parentContextName, className, useCustomInputStyle, ref, }: SearchInputProps): import("react").JSX.Element;
