
import { CubeTabListProps, CubeTabPanelProps, CubeTabProps, CubeTabsProps } from "./types.js";
import { CubeTabsActionProps, TabsAction } from "./TabsAction.js";
import * as react from "react";
import { ReactElement } from "react";
import * as _react_types_shared0 from "@react-types/shared";

//#region src/components/navigation/Tabs/Tabs.d.ts
declare function Tab(_props: CubeTabProps): ReactElement | null;
declare namespace Tab {
  var displayName: string;
}
declare function TabPanel(_props: CubeTabPanelProps): ReactElement | null;
declare namespace TabPanel {
  var displayName: string;
}
declare function TabList(_props: CubeTabListProps): ReactElement | null;
declare namespace TabList {
  var displayName: string;
}
/**
 * Tabs component for organizing content into multiple panels.
 * Built with React Aria for full accessibility support.
 *
 * **Note:** Tab keys are internally converted to strings for React Aria compatibility.
 *
 * @example
 * // Simple usage
 * <Tabs defaultActiveKey="tab1">
 *   <Tab key="tab1" title="Tab 1">Content 1</Tab>
 *   <Tab key="tab2" title="Tab 2">Content 2</Tab>
 * </Tabs>
 *
 * @example
 * // Tabs-only (no panels)
 * <Tabs activeKey={activeTab} onChange={setActiveTab}>
 *   <Tab key="overview" title="Overview" />
 *   <Tab key="settings" title="Settings" />
 * </Tabs>
 *
 * @example
 * // Explicit panels
 * <Tabs defaultActiveKey="tab1">
 *   <Tabs.List>
 *     <Tab key="tab1" title="Tab 1" />
 *     <Tab key="tab2" title="Tab 2" />
 *   </Tabs.List>
 *   <Tabs.Panel key="tab1">Content 1</Tabs.Panel>
 *   <Tabs.Panel key="tab2">Content 2</Tabs.Panel>
 * </Tabs>
 */
declare const Tabs: react.ForwardRefExoticComponent<CubeTabsProps & react.RefAttributes<HTMLDivElement>> & {
  Tab: typeof Tab;
  List: typeof TabList;
  Panel: typeof TabPanel;
  Action: react.ForwardRefExoticComponent<Omit<CubeTabsActionProps, "ref"> & react.RefAttributes<_react_types_shared0.FocusableRefValue<HTMLElement, HTMLElement>>>;
};
//#endregion
export { Tab, Tabs };
//# sourceMappingURL=Tabs.d.ts.map