import * as React from "react";
import * as PropTypes from "prop-types";
import "./SegmentedControl.less";
export interface Option {
    content: React.ReactNode;
    disabled?: boolean;
    value: any;
}
export interface Props {
    className?: string;
    defaultValue?: string;
    disabled?: boolean;
    options: Option[];
    onSelect?: (value: any) => void;
    value?: any;
}
interface State {
    selected: any;
}
export declare const cssClass: {
    CONTAINER: string;
    DISABLED: string;
    OPTION: string;
    SELECTED: string;
};
/**
 * SegmentedControl selection. Shows several options as defined in the props and
 * allows the user to select one of those options.
 */
export declare class SegmentedControl extends React.Component<Props, State> {
    static propTypes: {
        className: PropTypes.Requireable<string>;
        defaultValue: PropTypes.Requireable<string>;
        disabled: PropTypes.Requireable<boolean>;
        options: PropTypes.Validator<PropTypes.InferProps<{
            content: PropTypes.Validator<PropTypes.ReactNodeLike>;
            disabled: PropTypes.Requireable<boolean>;
            value: PropTypes.Validator<any>;
        }>[]>;
        onSelect: PropTypes.Requireable<(...args: any[]) => any>;
        value: PropTypes.Requireable<any>;
    };
    static validateProps(props: any): any;
    constructor(props: Props);
    onSelect({ disabled, value }: Option): void;
    getValue(): any;
    render(): JSX.Element;
}
export {};
