import { Renderable, Value, Merge } from '@tempots/dom';
import { InputOptions } from './input-options';
import { BaseControllerOptions, ControllerOptions } from '../control';
import { DropdownOption } from './option';
export type DropdownOptions<T> = Merge<InputOptions<T>, {
    options: Value<DropdownOption<T>[]>;
    unselectedLabel?: Value<string>;
    equality?: (a: T, b: T) => boolean;
    placeholder?: Value<string>;
    searchable?: Value<boolean>;
}>;
export declare const DropdownInput: <T>(options: DropdownOptions<T>) => Renderable;
export declare const BaseDropdownControl: <T>(options: BaseControllerOptions<T, DropdownOptions<T>>) => Renderable;
export declare const DropdownControl: <T>(options: ControllerOptions<T, DropdownOptions<T>>) => Renderable;
