import { RenderResult } from '@dojo/framework/core/interfaces';
export declare type MenuOption = {
    value: string;
    label?: string;
    disabled?: boolean;
};
export interface NativeSelectProperties {
    /** Callback called when user selects a value */
    onValue?(value: string): void;
    /** The initial selected value */
    initialValue?: string;
    /** A controlled value */
    value?: string;
    /** Options to display within the menu */
    options: MenuOption[];
    /** 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;
    /** Used to specify the name of the control */
    name?: string;
    /** Represents the number of rows the are visible at one time */
    size?: number;
    /** Handler for events triggered by select field losing focus */
    onBlur?(): void;
    /** Handler for events triggered by the select element being focused */
    onFocus?(): void;
}
export interface NativeSelectChildren {
    /** The label to be displayed on the select */
    label?: RenderResult;
}
export declare const NativeSelect: import("@dojo/framework/core/interfaces").OptionalWNodeFactory<{
    properties: NativeSelectProperties & import("@dojo/framework/core/interfaces").WidgetProperties & {
        variant?: "default" | "inherit" | undefined;
    } & import("@dojo/framework/core/middleware/theme").ThemeProperties & import("@dojo/framework/core/interfaces").FocusProperties & import("@dojo/framework/core/interfaces").I18nProperties;
    children: string | number | boolean | import("@dojo/framework/core/interfaces").VNode | import("@dojo/framework/core/interfaces").WNode<any> | import("@dojo/framework/core/interfaces").DNode<any>[] | NativeSelectChildren;
}>;
export default NativeSelect;
