import { type ComponentProps } from 'react';
import type { GDSComponentProps } from '@graphprotocol/gds-css';
import { type AddonValue } from './base/Addon.tsx';
import { type TransitionProps } from './base/Transition.tsx';
import { TabSetTabsMeta, type TabSetTabMeta } from './TabSet.meta.js';
type TabValue = string | number;
export declare const TabSetContext: import("react").Context<{
    selectedTab: TabValue;
}>;
export interface TabSetProps<T extends TabValue = TabValue> extends Omit<ComponentProps<'div'>, 'onChange'> {
    value?: T | undefined;
    defaultValue?: T | undefined;
    onChange?: ((value: T) => void) | undefined;
}
export declare function TabSetRoot<T extends TabValue>({ value: controlledValue, defaultValue, onChange, className, children, ...props }: TabSetProps<T>): import("react/jsx-runtime").JSX.Element;
export declare namespace TabSetRoot {
    var displayName: string;
}
export interface TabSetTabsProps extends ComponentProps<'div'>, GDSComponentProps<typeof TabSetTabsMeta> {
}
export declare function TabSetTabs({ ref: passedRef, size, fullWidth, divider, className, style, children, ...props }: TabSetTabsProps): import("react/jsx-runtime").JSX.Element;
export declare namespace TabSetTabs {
    var displayName: string;
}
export interface TabSetTabProps extends ComponentProps<'button'>, GDSComponentProps<typeof TabSetTabMeta> {
    value?: TabValue | undefined;
    addonBefore?: AddonValue | undefined;
    addonAfter?: AddonValue | undefined;
    disabled?: boolean | undefined;
}
export declare function TabSetTab({ ref: passedRef, value: passedValue, addonBefore, addonAfter, disabled, className, children, ...props }: TabSetTabProps): import("react/jsx-runtime").JSX.Element;
export declare namespace TabSetTab {
    var displayName: string;
}
export interface TabSetPanelsProps extends ComponentProps<'div'> {
    transition?: boolean | TransitionProps | undefined;
}
export declare function TabSetPanels({ transition, className, children, ...props }: TabSetPanelsProps): import("react/jsx-runtime").JSX.Element;
export declare namespace TabSetPanels {
    var displayName: string;
}
export interface TabSetPanelProps extends ComponentProps<'div'> {
    value?: TabValue | undefined;
}
export declare function TabSetPanel({ value: passedValue, className, children, ...props }: TabSetPanelProps): import("react/jsx-runtime").JSX.Element;
export declare namespace TabSetPanel {
    var displayName: string;
}
export {};
//# sourceMappingURL=TabSet.parts.d.ts.map