import { RefObject } from 'react';
export interface Focusable {
    focus(): void;
}
export interface FocusControlRefs {
    toggle: RefObject<Focusable>;
    close: RefObject<Focusable>;
    slider: RefObject<HTMLDivElement>;
}
export interface FocusControlState {
    refs: FocusControlRefs;
    setFocus: (options?: {
        force: boolean;
        autoFocus?: boolean;
    }) => void;
    loseFocus: () => void;
}
export interface FocusControlMultipleStates {
    refs: Record<string, FocusControlRefs>;
    setFocus: (params?: {
        force?: boolean;
        drawerId?: string;
        open?: boolean;
    }) => void;
    loseFocus: () => void;
}
export declare function useMultipleFocusControl(restoreFocus: boolean, activeDrawersIds: Array<string>): FocusControlMultipleStates;
export declare function useFocusControl(isOpen: boolean, restoreFocus?: boolean, activeDrawerId?: string | null): FocusControlState;
export declare function useAsyncFocusControl(isOpen: boolean, restoreFocus?: boolean, activeDrawerId?: string | null): FocusControlState;
//# sourceMappingURL=use-focus-control.d.ts.map