/// <reference types="react" />
import type { PopoverInitialState } from 'reakit/Popover';
import type { InputState } from '../types';
export declare function usePickerState(props?: PickerInitialState): {
    baseId: string;
    unstable_idCountRef: import("react").MutableRefObject<number>;
    visible: boolean;
    animated: number | boolean;
    animating: boolean;
    setBaseId: import("react").Dispatch<import("react").SetStateAction<string>>;
    show: () => void;
    hide: () => void;
    toggle: () => void;
    setVisible: import("react").Dispatch<import("react").SetStateAction<boolean>>;
    setAnimated: import("react").Dispatch<import("react").SetStateAction<number | boolean>>;
    stopAnimation: () => void;
    modal: boolean;
    unstable_disclosureRef: import("react").MutableRefObject<HTMLElement | null>;
    setModal: import("react").Dispatch<import("react").SetStateAction<boolean>>;
    unstable_referenceRef: import("react").RefObject<HTMLElement | null>;
    unstable_popoverRef: import("react").RefObject<HTMLElement | null>;
    unstable_arrowRef: import("react").RefObject<HTMLElement | null>;
    unstable_popoverStyles: import("react").CSSProperties;
    unstable_arrowStyles: import("react").CSSProperties;
    unstable_originalPlacement: "auto-start" | "auto" | "auto-end" | "top-start" | "top" | "top-end" | "right-start" | "right" | "right-end" | "bottom-end" | "bottom" | "bottom-start" | "left-end" | "left" | "left-start";
    unstable_update: () => boolean;
    placement: "auto-start" | "auto" | "auto-end" | "top-start" | "top" | "top-end" | "right-start" | "right" | "right-end" | "bottom-end" | "bottom" | "bottom-start" | "left-end" | "left" | "left-start";
    place: import("react").Dispatch<import("react").SetStateAction<"auto-start" | "auto" | "auto-end" | "top-start" | "top" | "top-end" | "right-start" | "right" | "right-end" | "bottom-end" | "bottom" | "bottom-start" | "left-end" | "left" | "left-start">>;
    pickerId: string | undefined;
    popoverId: string | undefined;
    isDisabled: boolean | undefined;
    isReadOnly: boolean | undefined;
    segmentFocus: (() => void) | undefined;
};
interface PickerState {
    pickerId?: string;
    popoverId?: string;
    /**
     * Function to be called on picker mousedown
     * for focusing first tabbable element
     */
    segmentFocus?: () => void;
}
export declare type PickerInitialState = PopoverInitialState & InputState & PickerState;
export declare type PickerStateReturn = ReturnType<typeof usePickerState>;
export {};
