import { PropsWithChildren } from "react";
import { IconProps } from "../icon/Icon";
export declare type SegmentedSwitchContainerProps<SegmentKey extends string> = PropsWithChildren<{
    /** The initially selected key */
    defaultActive?: SegmentKey;
    /** A callback that will be called when the active Segment changes */
    onChange?: (key: SegmentKey) => void;
}>;
declare function Container<SegmentKey extends string = string>({ children, defaultActive, onChange, }: SegmentedSwitchContainerProps<SegmentKey>): JSX.Element;
declare type SegmentProps<SegmentKey extends string> = {
    /** A unique identifier for this Option. This will also be attached as the HTML id that will be attached to this `Option` */
    id: SegmentKey;
    /** The text to render inside this Option */
    title: string;
    /** An icon to render with this Option's title */
    icon?: IconProps["name"];
    /** Controls if this Option is not allowed to be selected */
    isDisabled?: boolean;
};
declare function Segment<SegmentKey extends string = string>({ id, title, icon, isDisabled, }: SegmentProps<SegmentKey>): JSX.Element;
export declare const SegmentedSwitch: {
    Container: typeof Container;
    Segment: typeof Segment;
};
export {};
