/// <reference types="react" />
import PropTypes from "prop-types";
import "../init";
import { FormElement } from "../formElement";
import { ItemRenderer } from "./item";
export declare type SelectProps<T = string> = FormElement & {
    options: {
        [key: string]: T;
    };
    renderItem?: ItemRenderer<T>;
    placeholder?: string;
    placeholderClassName: string;
};
export declare const Select: {
    ({ className, disabled, label, nullable, onChange, placeholder, placeholderClassName, options, renderItem, value }: SelectProps): JSX.Element;
    propTypes: {
        className: PropTypes.Requireable<string>;
        disabled: PropTypes.Requireable<boolean>;
        label: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        nullable: PropTypes.Requireable<boolean>;
        onChange: PropTypes.Requireable<(...args: any[]) => any>;
        options: PropTypes.Validator<object>;
        renderItem: PropTypes.Requireable<(...args: any[]) => any>;
        value: PropTypes.Requireable<string>;
        placeholder: PropTypes.Requireable<string>;
        placeholderClassName: PropTypes.Requireable<string>;
    };
    defaultProps: {
        disabled: boolean;
        nullable: boolean;
        onChange: () => any;
        renderItem: ItemRenderer<string>;
    };
};
