/** useDynamicTabs.tsx */ import React, { ReactNode } from "react"; interface UseDisclosureProps { id: string; /** Useful if you need to make tweak the snap size. */ snapOffset?: number; menuIsOpen?: boolean; containerRef: React.RefObject; buttonRef: React.RefObject; overflowRef: React.RefObject; tabs: ReactNode; breakpointMin?: number; } declare type TriggerProps = { id: string; onClick: () => void; type: "button" | "reset" | "submit" | undefined; "aria-expanded": boolean; "aria-haspopup": boolean; "aria-controls": string; }; declare type MenuProps = { id: string; "aria-hidden": boolean; "aria-labelledby": string; }; declare type useDynamicTabsReturn = { triggerProps: TriggerProps; menuProps: MenuProps; menuIsOpen: boolean; trigger: () => void; measuringRender: boolean; visibleTabs: ReactNode[]; overflowTabs: ReactNode[]; }; declare const useDynamicTabs: ({ id, breakpointMin, menuIsOpen: menuIsOpenProp, containerRef, buttonRef, snapOffset, tabs, overflowRef }: UseDisclosureProps) => useDynamicTabsReturn; export default useDynamicTabs;