import { FieldError } from '../../common'; import SelectField, { SelectFieldConfig, ISelectFieldOption } from '../common'; export interface SelectSingleFieldConfig extends SelectFieldConfig { type: 'select_single'; mode?: 'dropdown' | 'radio' | 'button'; placeholder?: string; canClear?: boolean; } export interface ISelectSingleField { value: undefined | string | number | boolean; options: Array; onChange: (value: string | number | boolean) => Promise; onClear?: () => Promise; disabled: boolean; readonly: boolean; placeholder?: string; } export default class SelectSingleField extends SelectField { validate: (_value: string | number | boolean | undefined) => Promise; renderDorpdownComponent: (props: ISelectSingleField) => JSX.Element; renderRadioComponent: (props: ISelectSingleField) => JSX.Element; renderButtonComponent: (props: ISelectSingleField) => JSX.Element; render: () => JSX.Element; }