import type { MaybeGetter } from "../types"; export type TabsProps = { /** * If `true`, the value will be changed whenever a trigger is focused. * * @default true */ selectWhenFocused?: MaybeGetter; /** * If the the trigger selection should loop when navigating with the arrow keys. * * @default true */ loop?: MaybeGetter; /** * The orientation of the tabs. * * @default "horizontal" */ orientation?: MaybeGetter<"horizontal" | "vertical" | undefined>; /** * The default value for `tabs.value` * * When passing a getter, it will be used as source of truth, * meaning that `tabs.value` only changes when the getter returns a new value. * */ value: MaybeGetter; /** * Called when the `Tabs` instance tries to change the active tab. */ onValueChange?: (active: T) => void; }; export declare class Tabs { #private; readonly selectWhenFocused: boolean; readonly loop: boolean; readonly orientation: "horizontal" | "vertical"; constructor(props: TabsProps); /** The current selected tab. */ get value(): T; set value(value: T); /** The attributes for the list that contains the tab triggers. */ get triggerList(): { readonly "data-melt-tabs-trigger-list": ""; readonly role: "tablist"; readonly "aria-orientation": "horizontal" | "vertical"; readonly "data-orientation": "horizontal" | "vertical"; }; /** Gets the attributes and listeners for a tab trigger. Requires an identifying tab value. */ getTrigger(value: T): { readonly "data-melt-tabs-trigger": T; readonly "data-active": "" | undefined; readonly tabindex: 0 | -1; readonly role: "tab"; readonly "aria-selected": boolean; readonly "aria-controls": string; readonly "data-orientation": "horizontal" | "vertical"; readonly onclick: () => T; readonly onkeydown: (e: KeyboardEvent) => void; readonly id: string; }; /** Gets the attributes and listeners for the tabs contents. Requires an identifying tab value. */ getContent(value: T): { readonly "data-melt-tabs-content": ""; readonly hidden: boolean; readonly "data-active": "" | undefined; readonly role: "tabpanel"; readonly id: string; readonly "aria-labelledby": string; readonly "data-orientation": "horizontal" | "vertical"; }; }