import { type ComponentProps } from 'react';
import type { GDSComponentProps } from '@graphprotocol/gds-css';
import { type OptionValue } from '../utils/index.ts';
import { type AddonValue } from './base/Addon.tsx';
import { SegmentedControlMeta, type SegmentedControlOptionMeta } from './SegmentedControl.meta.ts';
import { type TooltipProps } from './Tooltip.tsx';
export interface SegmentedControlProps<T extends OptionValue = OptionValue> extends Omit<ComponentProps<'div'>, 'defaultValue' | 'onChange'>, GDSComponentProps<typeof SegmentedControlMeta> {
    value?: T | undefined;
    defaultValue?: T | undefined;
    onChange?: ((value: T) => void) | undefined;
}
export declare function SegmentedControlRoot<T extends OptionValue>({ ref: passedRef, size, value: controlledValue, defaultValue, onChange, className, style, children, ...props }: SegmentedControlProps<T>): import("react/jsx-runtime").JSX.Element;
export declare namespace SegmentedControlRoot {
    var displayName: string;
}
export interface SegmentedControlOptionProps<T extends OptionValue = OptionValue> extends ComponentProps<'span'>, GDSComponentProps<typeof SegmentedControlOptionMeta> {
    value?: T | undefined;
    addonBefore?: AddonValue | undefined;
    addonAfter?: AddonValue | undefined;
    /** For icon-only options, defaults to the icon's `alt`, otherwise defaults to `undefined` */
    tooltip?: TooltipProps['content'] | Omit<TooltipProps, 'children'> | undefined;
}
export declare function SegmentedControlOption<T extends OptionValue>({ ref: passedRef, value: passedValue, addonBefore, addonAfter, tooltip, className, children, ...props }: SegmentedControlOptionProps<T>): import("react/jsx-runtime").JSX.Element;
export declare namespace SegmentedControlOption {
    var displayName: string;
}
//# sourceMappingURL=SegmentedControl.parts.d.ts.map