import { Api } from '../../types';
import { FormControlProps, FormItemBasicConfig } from './Item';
export declare type OptionsControlComponent = React.ComponentType<FormControlProps>;
import React from 'react';
import { Option, OptionProps } from '../../components/Select';
export { Option };
export interface OptionsBasicConfig extends FormItemBasicConfig {
    autoLoadOptionsFromSource?: boolean;
}
export interface OptionsConfig extends OptionsBasicConfig {
    component: React.ComponentType<OptionsControlProps>;
}
export interface OptionsControlProps extends FormControlProps, OptionProps {
    source?: Api;
    name?: string;
    onToggle: (option: Option, submitOnChange?: boolean) => void;
    onToggleAll: () => void;
    selectedOptions: Array<Option>;
    setOptions: (value: Array<any>) => void;
    setLoading: (value: boolean) => void;
    reloadOptions: () => void;
}
export declare function registerOptionsControl(config: OptionsConfig): import("../../factory").RendererConfig;
export declare function OptionsControl(config: OptionsBasicConfig): <T extends React.ComponentType<OptionsControlProps>>(component: T) => T;
export declare function highlight(text: string, input?: string, hlClassName?: string): string | any[];
