import * as React from 'react';
export interface TabsContextValue {
    /**
     * The currently selected tab's value.
     */
    value: number | string | null;
    /**
     * Callback for setting new value.
     */
    onSelected: (event: React.SyntheticEvent | null, value: number | string | null) => void;
    /**
     * The component orientation (layout flow direction).
     */
    orientation?: 'horizontal' | 'vertical';
    /**
     * The direction of the tabs.
     */
    direction?: 'ltr' | 'rtl';
    /**
     * Registers a function that returns the id of the tab with the given value.
     */
    registerTabIdLookup: (lookupFunction: (id: string | number) => string | undefined) => void;
    /**
     * If `true` the selected tab changes on focus. Otherwise it only
     * changes on activation.
     */
    selectionFollowsFocus?: boolean;
    /**
     * Gets the id of the tab with the given value.
     * @param value Value to find the tab for.
     */
    getTabId: (value: number | string) => string | undefined;
    /**
     * Gets the id of the tab panel with the given value.
     * @param value Value to find the tab panel for.
     */
    getTabPanelId: (value: number | string) => string | undefined;
}
/**
 * @ignore - internal component.
 */
declare const TabsContext: React.Context<TabsContextValue | null>;
export declare function useTabsContext(): TabsContextValue;
export { TabsContext };
