import { MouseEvent, RefObject } from "react";
import { PickerTriggerMode } from "./createPickerTriggerPolicy";
interface UsePickerTriggerControllerOptions {
    mode: PickerTriggerMode;
    open: boolean;
    currentQuery: string;
    hasDisplayValue: boolean;
    inputRef: RefObject<HTMLInputElement | null>;
    setQuery?: (value: string) => void;
    openList?: () => void;
    close?: () => void;
    toggleOpen?: () => void;
    onBeforeOpen?: () => void;
}
interface HandleTriggerKeyDownOptions {
    event: React.KeyboardEvent<HTMLElement>;
    onActivateWhenOpen?: () => void;
    enableSpaceActivation?: boolean;
    enableClosedArrowDownOpen?: boolean;
    suppressClosedArrowUp?: boolean;
}
/**
 * Единый контроллер пользовательских действий на trigger-input.
 * Держит поведение display/search-single/search-multi в одном месте.
 */
export declare function usePickerTriggerController({ mode, open, currentQuery, hasDisplayValue, inputRef, setQuery, openList, close, toggleOpen, onBeforeOpen }: UsePickerTriggerControllerOptions): {
    policy: import("./createPickerTriggerPolicy").PickerTriggerPolicy;
    handleTriggerInputChange: (nextValue: string) => void;
    handleTriggerClick: () => void;
    handleTriggerFocus: (input: HTMLInputElement) => void;
    handleToggleMouseDown: (event: MouseEvent<HTMLButtonElement>) => void;
    handleToggleClick: () => void;
    handleTriggerKeyDown: ({ event, onActivateWhenOpen, enableSpaceActivation, enableClosedArrowDownOpen, suppressClosedArrowUp }: HandleTriggerKeyDownOptions) => void;
    toggleTrigger: () => void;
};
export {};
//# sourceMappingURL=usePickerTriggerController.d.ts.map