///
import * as React from "react";
import { BoxedValue } from "boxm";
import { FormElementProps, StyleComponent } from "./FormElementProps";
export interface SelectProps extends FormElementProps {
value: BoxedValue;
options: T[];
labels?: (value: T) => string;
keys?: (value: T) => string;
size?: number;
selectComponent?: StyleComponent;
optionComponent?: StyleComponent;
}
export declare class TypedSelect extends React.Component, {}> {
static defaultLabels(value: any): string;
static defaultKeys(value: any): string;
updateValue(ev: React.FormEvent): void;
render(): JSX.Element;
}
export declare class Select extends TypedSelect {
}
export declare class SelectString extends TypedSelect {
}
export declare class SelectNumber extends TypedSelect {
}
export declare function SelectUsing(selectComponent: StyleComponent, optionComponent?: StyleComponent): (props: SelectProps) => JSX.Element;