import React, { type PropsWithChildren } from "react";
import { SegmentedControlOption } from "./SegmentedControlOption";
interface SegmentedControlProps<T> extends PropsWithChildren {
    /**
     * The currently selected option. Use this prop with `onSelectValue` for
     * a controlled component.
     */
    readonly selectedValue?: T;
    /**
     * A callback function that is called whenever the selected option changes.
     * Use this prop with `selectedValue` for a controlled component.
     */
    readonly onSelectValue?: (value: T) => void;
    /**
     * The default option to be selected initially.
     * Set this prop when the component is uncontrolled.
     */
    readonly defaultValue?: T;
    /**
     * A unique name for the SegmentedControl, that links the group of
     * options together. Can be a string or, if not set, will default to a generated
     * id.
     *
     * @default useId()
     */
    readonly name?: string;
    /**
     * Adjusts the size of the SegmentedControl. The default size is "base".
     *
     * @default base
     */
    readonly size?: "small" | "base" | "large";
}
export declare function SegmentedControl<T>({ selectedValue, onSelectValue, defaultValue, children, name, size, }: SegmentedControlProps<T>): React.JSX.Element;
export declare namespace SegmentedControl {
    var Option: typeof SegmentedControlOption;
    var Base: React.ForwardRefExoticComponent<import("./SegmentedControlBase").SegmentedControlBaseProps & React.RefAttributes<HTMLDivElement>>;
}
export {};
