import { Primitive } from "@loke/ui/primitive";
import * as RovingFocusGroup from "@loke/ui/roving-focus";
import { type ComponentPropsWithoutRef } from "react";
declare const createTabsScope: import("@loke/ui/context").CreateScope;
type RovingFocusGroupProps = ComponentPropsWithoutRef<typeof RovingFocusGroup.Root>;
type PrimitiveDivProps = ComponentPropsWithoutRef<typeof Primitive.div>;
interface TabsProps extends PrimitiveDivProps {
    /**
     * Whether a tab is activated automatically or manually.
     * @defaultValue automatic
     */
    activationMode?: "automatic" | "manual";
    /** The value of the tab to select by default, if uncontrolled */
    defaultValue?: string;
    /**
     * The direction of navigation between toolbar items.
     */
    dir?: RovingFocusGroupProps["dir"];
    /** A function called when a new tab is selected */
    onValueChange?: (value: string) => void;
    /**
     * The orientation the tabs are layed out.
     * Mainly so arrow navigation is done accordingly (left & right vs. up & down)
     * @defaultValue horizontal
     */
    orientation?: RovingFocusGroupProps["orientation"];
    /** The value for the selected tab, if controlled */
    value?: string;
}
declare const Tabs: import("react").ForwardRefExoticComponent<TabsProps & import("react").RefAttributes<HTMLDivElement>>;
interface TabsListProps extends PrimitiveDivProps {
    loop?: RovingFocusGroupProps["loop"];
}
declare const TabsList: import("react").ForwardRefExoticComponent<TabsListProps & import("react").RefAttributes<HTMLDivElement>>;
type PrimitiveButtonProps = ComponentPropsWithoutRef<typeof Primitive.button>;
interface TabsTriggerProps extends PrimitiveButtonProps {
    value: string;
}
declare const TabsTrigger: import("react").ForwardRefExoticComponent<TabsTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;
interface TabsContentProps extends PrimitiveDivProps {
    /**
     * Used to force mounting when more control is needed. Useful when
     * controlling animation with React animation libraries.
     */
    forceMount?: true;
    value: string;
}
declare const TabsContent: import("react").ForwardRefExoticComponent<TabsContentProps & import("react").RefAttributes<HTMLDivElement>>;
declare const Root: import("react").ForwardRefExoticComponent<TabsProps & import("react").RefAttributes<HTMLDivElement>>;
declare const List: import("react").ForwardRefExoticComponent<TabsListProps & import("react").RefAttributes<HTMLDivElement>>;
declare const Trigger: import("react").ForwardRefExoticComponent<TabsTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;
declare const Content: import("react").ForwardRefExoticComponent<TabsContentProps & import("react").RefAttributes<HTMLDivElement>>;
export { createTabsScope, Tabs, TabsList, TabsTrigger, TabsContent, Root, List, Trigger, Content, };
export type { TabsProps, TabsListProps, TabsTriggerProps, TabsContentProps };
