import { Field, FieldConfig } from './field';
type selectOptionFn = () => SelectOption[];
export interface SelectFieldConfig extends FieldConfig {
    appendTo?: string;
    optionLabel?: string;
    optionValue?: string;
    dataKey?: string;
    autoDisplayFirst?: boolean;
    options: selectOptionFn | any[];
    multiple?: boolean;
    multipleSelectedLabel?: string;
    onClick?: (event: any) => void;
    onChange?: (event: any) => void;
    emptyMessage?: string;
    editable?: boolean;
    filter?: boolean;
    group?: boolean;
}
export declare class SelectField extends Field implements SelectFieldConfig {
    appendTo?: string;
    optionLabel?: string;
    optionValue?: string;
    dataKey?: string;
    autoDisplayFirst?: boolean;
    options: selectOptionFn | any[];
    multiple?: boolean;
    multipleSelectedLabel?: string;
    onClick?: (event: any) => void;
    onChange?: (event: any) => void;
    emptyMessage?: string;
    editable?: boolean;
    filter?: boolean;
    group?: boolean;
    constructor(config: SelectFieldConfig);
}
export declare class SelectOption {
    label: string;
    value?: any;
    constructor(config: SelectOption);
}
export {};
