import { SelectHTMLAttributes, Ref, ReactNode, ChangeEvent, PureComponent } from 'react';
import PropTypes from 'prop-types';
import { CombinePropsAndAttributes } from '../../helpers';
import { Primitive } from '../common/types';
export * from './SelectOption';
interface ISelfProps {
    elementRef?: Ref<HTMLSelectElement>;
    defaultValue?: Primitive;
    value?: Primitive;
    children: ReactNode;
    onChange?(value: Primitive, event: ChangeEvent): any;
}
export declare type IProps = CombinePropsAndAttributes<ISelfProps, SelectHTMLAttributes<HTMLSelectElement>>;
export default class Select extends PureComponent<IProps> {
    static propTypes: {
        elementRef: PropTypes.Requireable<(...args: any[]) => any>;
        defaultValue: PropTypes.Requireable<string | number | boolean>;
        value: PropTypes.Requireable<string | number | boolean>;
        onChange: PropTypes.Requireable<(...args: any[]) => any>;
        children: PropTypes.Validator<PropTypes.ReactNodeLike>;
    };
    private originalValues;
    render(): JSX.Element;
    onChange(event: ChangeEvent<HTMLSelectElement>): void;
}
//# sourceMappingURL=Select.d.ts.map