import { RenderResult } from '@dojo/framework/core/interfaces'; import { ItemRendererProperties, ListOption, ListItemProperties, MenuItemProperties } from '../list'; import { PopupPosition } from '../popup'; export interface SelectProperties { /** Callback called when user selects a value */ onValue(value: ListOption): void; /** The initial selected value */ initialValue?: string; /** Controlled value property */ value?: string; /** Property to determine how many items to render. Defaults to 6 */ itemsInView?: number; /** placement of the select menu; 'above' or 'below' */ position?: PopupPosition; /** Placeholder value to show when nothing has been selected */ placeholder?: string; /** Property to determine if the input is disabled */ disabled?: boolean; /** Sets the helper text of the input */ helperText?: string; /** Boolean to indicate if field is required */ required?: boolean; /** Callabck when valid state has changed */ onValidate?(valid: boolean): void; /** The name property of the input */ name?: string; } export interface SelectChildren { /** Custom renderer for item contents */ items?(item: ItemRendererProperties, props: ListItemProperties & MenuItemProperties): RenderResult; /** The label to show */ label?: RenderResult; } export declare const Select: import("@dojo/framework/core/interfaces").OptionalWNodeFactory<{ properties: SelectProperties & import("@dojo/framework/core/interfaces").WidgetProperties & { variant?: "default" | "inherit" | undefined; } & import("@dojo/framework/core/middleware/theme").ThemeProperties & import("@dojo/framework/core/middleware/resources").ResourceProperties & import("@dojo/framework/core/interfaces").FocusProperties & import("@dojo/framework/core/interfaces").I18nProperties; children: SelectChildren; }>; export default Select;