import React from 'react'; import { TextInputView, TextInputSize, TextInputPin } from '../TextInput'; import { ControlGroupProps, ControlGroupOption } from '../types'; import { Option, OptionGroup } from './tech-components'; export declare type SelectProps = Pick & { onUpdate?: (value: string[]) => void; onOpenChange?: (open: boolean) => void; renderControl?: (props: { onClick: (e: React.MouseEvent) => void; onKeyDown: (e: React.KeyboardEvent) => void; ref: React.Ref; }) => React.ReactElement; renderOption?: (option: SelectOption) => React.ReactElement; getOptionHeight?: (option: SelectOption) => number; view?: TextInputView; size?: TextInputSize; pin?: TextInputPin; width?: 'auto' | 'max' | number; popupWidth?: number; className?: string; label?: string; placeholder?: React.ReactNode; value?: string[]; defaultValue?: string[]; options?: (SelectOption | SelectOptionGroup)[]; multiple?: boolean; children?: React.ReactElement | React.ReactElement[] | React.ReactElement | React.ReactElement[]; }; export declare type SelectOption = ControlGroupOption & { text?: string; data?: any; }; export declare type SelectOptionGroup = { label: string; options?: SelectOption[]; children?: React.ReactElement | React.ReactElement[]; };