import { FieldError } from '../../common'; import SelectField, { ISelectFieldOption, SelectFieldConfig } from '../common'; export interface SelectMultipleFieldConfig extends SelectFieldConfig { type: 'select_multiple'; mode?: 'dropdown' | 'checkbox'; multiple?: true | SelectMultipleArrayConfig | SelectMultipleSplitConfig; placeholder?: string; canClear?: boolean; } interface SelectMultipleArrayConfig { type: 'array'; } interface SelectMultipleSplitConfig { type: 'split'; split?: string; valueType?: 'string' | 'number' | 'boolean' | undefined; } export interface ISelectMultipleField { value: undefined | Array; options: Array; onChange: (value: Array) => Promise; onClear?: () => Promise; disabled: boolean; readonly: boolean; placeholder?: string; } export default class SelectMultipleField extends SelectField | undefined> { reset: () => Promise; validate: (_value: string | Array | undefined) => Promise; renderDorpdownComponent: (props: ISelectMultipleField) => JSX.Element; renderCheckboxComponent: (props: ISelectMultipleField) => JSX.Element; render: () => JSX.Element; } export {};