import { FC } from "react";
import { TabMode, TabTypes } from "./types";
/**
* Props for the NvTabs component.
*
* @param active - The value of the currently selected NvTab. Corresponds to the activeTabId prop of NvTab.
* @param type - Type of predefined styles for the tabs.
* @param mode - If active, clicking on a tab will make it active, otherwise only onChange callback will be triggered on click.
* @param className - The additional CSS class for the wrapper element.
* @param onChange - Callback fired when the active tab is changed.
* @param children - NvTab components.
*/
export interface NvTabsProps {
/** The value of the currently selected NvTab. Corresponds to the activeTabId prop of NvTab. */
active?: string;
/** Type of predefined styles for the tabs. */
type?: TabTypes;
/** If active, clicking on a tab will make it active, otherwise only onChange callback will be triggered on click. */
mode?: TabMode;
/** The additional CSS class for the wrapper element. */
className?: string;
/** Callback fired when the active tab is changed. */
onChange?: (activeTab: string) => void;
/** NvTab components. */
children: React.ReactElement | React.ReactElement[];
}
/**
* Functional component for rendering a tab component with dynamic behavior.
* Manages the active tab state, handles tab changes, and provides context for child components.
*
* @param active - The initially active tab ID.
* @param mode - The mode of the tabs (active or inactive).
* @param className - Additional CSS class for styling.
* @param onChange - Callback function triggered on tab change.
* @param type - The type of tabs (primary or secondary).
* @param children - The tab components to render.
* @returns A tab component with dynamic behavior.
*/
declare const NvTabs: FC;
export default NvTabs;