import React from 'react';
import type { SegmentedControlButtonProps } from './SegmentedControlButton';
import type { SegmentedControlIconButtonProps } from './SegmentedControlIconButton';
import type { ResponsiveValue } from '../hooks/useResponsiveValue';
import type { WidthOnlyViewportRangeKeys } from '../utils/types/ViewportRangeKeys';
export type SegmentedControlProps = {
    'aria-label'?: string;
    'aria-labelledby'?: string;
    'aria-describedby'?: string;
    /** Whether the control fills the width of its parent */
    fullWidth?: boolean | ResponsiveValue<boolean>;
    /** The handler that gets called when a segment is selected */
    onChange?: (selectedIndex: number) => void;
    /** The size of the buttons */
    size?: 'small' | 'medium';
    /** Configure alternative ways to render the control when it gets rendered in tight spaces */
    variant?: 'default' | Partial<Record<WidthOnlyViewportRangeKeys, 'hideLabels' | 'dropdown' | 'default'>>;
    className?: string;
};
export declare const SegmentedControl: React.FC<React.PropsWithChildren<SegmentedControlProps>> & {
    __SLOT__: symbol;
    Button: import("../utils/types").FCWithSlotMarker<React.PropsWithChildren<SegmentedControlButtonProps>>;
    IconButton: import("../utils/types").FCWithSlotMarker<React.PropsWithChildren<SegmentedControlIconButtonProps>>;
};
//# sourceMappingURL=SegmentedControl.d.ts.map