/** * Select dropdown widget. */ import { MaybeObsArray, Observable } from '../../index'; export interface IOptionFull { value: T; label: string; disabled?: boolean; } export type IOption = (T & string) | IOptionFull; /** * Creates a select dropdown widget. The observable `obs` reflects the value of the selected * option, and `optionArray` is an array (regular or observable) of option values and labels. * These may be either strings, or `{label, value, disabled}` objects. * * The type of value may be any type at all; it is opaque to this widget. * * If obs is set to an invalid or disabled value, then defLabel option is used to determine the * label that the select box will show, blank by default. * * Usage: * ``` * const fruit = observable("apple"); * select(fruit, ["apple", "banana", "mango"]); * * const employee = observable(17); * const employees = obsArray>([ * {value: 12, label: "Bob", disabled: true}, * {value: 17, label: "Alice"}, * {value: 21, label: "Eve"}, * ]); * select(employee, employees, {defLabel: "Select employee:"}); * ``` */ export declare function select(obs: Observable, optionArray: MaybeObsArray>, options?: { defLabel?: string; }): HTMLSelectElement;