import type { Hash, TabComponent } from '../../../utils/childTypes'; /** * Custom hook that manages tab navigation, tracking the active tab and direction of the tab change. * It provides functionality to handle tab switching and update the current active tab. * * @param initialTab The hash representing the initial active tab. * @param children An array of TabComponent elements representing the content of each tab. * @param isPremountingAllTabs A boolean flag indicating whether all tabs should be pre-mounted in the DOM, even if they are not currently active. * @returns An object containing the current tab, the direction of the tab change, and a function to handle tab switching. * * @example * ```tsx * const { direction, handleTab, tab } = useTabs('tab1'); * * return ( * * handleTab('tab2')}>Tab 2 * * ); * ``` */ export declare const useTabs: (initialTab: Hash, children: TabComponent[], isPremountingAllTabs?: boolean) => { activeChild: TabComponent | undefined; colors: import("@nfq/colors").MapToCssVars<{ readonly error: "#DF162E"; readonly neutral0: "#FFFFFF"; readonly neutral20: "#F3F3F5"; readonly neutral40: "#B4B4BE"; readonly neutral60: "#73737D"; readonly neutral80: "#3C3C46"; readonly neutral100: "#00001E"; readonly primary: "#0050FF"; readonly primaryDark: "#00008C"; readonly primaryLight: "#82DCFA "; readonly secondary1: "#FFA55A"; readonly secondary2: "#F65D7C"; readonly secondary3: "#00DC7D"; readonly secondary4: "#A078FF"; readonly textPrimary: "#00001E"; readonly textPrimaryInv: "#FFFFFF"; readonly textSecondary: "#73737D"; readonly textSecondaryInv: "#F3F5F6"; }> & import("@nfq/colors").MapToCssVars<{ readonly buttonPrimaryLightHover: `color-mix(in srgb, #0050FF, white ${number}%)`; readonly buttonSecondaryDarkHover: `color-mix(in srgb, #FFFFFF ${number}%, transparent)`; }>; direction: "backwards" | "forwards"; handleTab: (hash: Hash) => void; inactiveChilds: TabComponent[]; tab: `#${string}`; };