import { AriaLabelingProps, CollectionChildren, DOMProps, DOMRef, Key, Orientation, SingleSelection, StyleProps } from '@react-types/shared'; import React, { ReactElement, ReactNode } from 'react'; export interface SpectrumTabsProps extends Omit, AriaLabelingProps, DOMProps, StyleProps { /** The children of the `` element. Should include `` and `` elements. */ children: ReactNode; /** The item objects for each tab, for dynamic collections. */ items?: Iterable; /** * The keys of the tabs that are disabled. These tabs cannot be selected, focused, or otherwise * interacted with. */ disabledKeys?: Iterable; /** Whether the Tabs are disabled. */ isDisabled?: boolean; /** Whether the tabs are displayed in a quiet style. */ isQuiet?: boolean; /** Whether the tabs are displayed in an emphasized style. */ isEmphasized?: boolean; /** The amount of space between the tabs. */ density?: 'compact' | 'regular'; /** The currently selected key in the collection (controlled). */ selectedKey?: Key; /** The initial selected keys in the collection (uncontrolled). */ defaultSelectedKey?: Key; /** Handler that is called when the selection changes. */ onSelectionChange?: (key: Key) => void; /** * Whether tabs are activated automatically on focus or manually. * * @default 'automatic' */ keyboardActivation?: 'automatic' | 'manual'; /** * The orientation of the tabs. * * @default 'horizontal' */ orientation?: Orientation; } /** * Tabs organize content into multiple sections and allow users to navigate between them. The * content under the set of tabs should be related and form a coherent unit. */ export declare const Tabs: (props: SpectrumTabsProps & { ref?: DOMRef | undefined; }) => ReactElement>; export interface SpectrumTabListProps extends DOMProps, StyleProps { /** * The tab items to display. Item keys should match the key of the corresponding `` within * the `` element. */ children: CollectionChildren; } /** * A TabList is used within Tabs to group tabs that a user can switch between. The keys of the items * within the must match up with a corresponding item inside the . */ export declare function TabList(props: SpectrumTabListProps): ReactElement; export interface SpectrumTabPanelsProps extends DOMProps, StyleProps { /** * The contents of each tab. Item keys should match the key of the corresponding `` within * the `` element. */ children: CollectionChildren; } /** * TabPanels is used within Tabs as a container for the content of each tab. The keys of the items * within the must match up with a corresponding item inside the . */ export declare function TabPanels(props: SpectrumTabPanelsProps): ReactElement;