import { TabsProps as TabsProps$1, TabListProps, TabProps, TabPanelProps } from 'react-aria-components';
import * as react_jsx_runtime from 'react/jsx-runtime';
import * as react from 'react';
import { TabsVariantProps, SlotsToClasses, TabsSlots, TabsReturnType } from '@trail-ui/theme';

interface TabsProps extends TabsProps$1, TabsVariantProps {
    indicator?: React.ReactNode;
    /**
     * Classes object to style the tabs and its children.
     */
    classNames?: SlotsToClasses<TabsSlots>;
}
interface InternalTabsContextValue {
    indicator: React.ReactNode;
    slots: TabsReturnType;
    classNames?: SlotsToClasses<TabsSlots>;
    disableCursorAnimation?: boolean;
}
declare const InternalTabsContext: react.Context<InternalTabsContextValue>;
declare function Tabs(props: TabsProps): react_jsx_runtime.JSX.Element;
declare function TabList<T extends object>(props: TabListProps<T>): react_jsx_runtime.JSX.Element;
declare function Tab(props: TabProps): react_jsx_runtime.JSX.Element;
declare function TabPanel(props: TabPanelProps): react_jsx_runtime.JSX.Element;

export { InternalTabsContext, Tab, TabList, TabPanel, Tabs, TabsProps };
