import { type RefObject } from 'react';
export declare const useActiveTab: () => number;
export declare const useTabDispatch: () => import("react").Dispatch<{
    type: "update";
    payload: number;
} | {
    type: "next";
} | {
    type: "previous";
} | {
    type: "start";
} | {
    type: "end";
}>;
interface Props<T extends HTMLElement> {
    value: number;
    ref: RefObject<T>;
}
export declare const useRegisterTabControl: <T extends HTMLElement>({ value, ref }: Props<T>) => import("react").Dispatch<{
    type: "update";
    payload: number;
} | {
    type: "next";
} | {
    type: "previous";
} | {
    type: "start";
} | {
    type: "end";
}>;
export declare const useTabControl: () => Map<number, RefObject<HTMLElement>>;
export declare const useActiveTabControl: () => readonly [number, RefObject<HTMLElement> | undefined];
export {};
