import { ColumnDataSchemaModel, ColumnRegular } from '@revolist/revogrid'; export type SelectOption = string | { [label: string]: any; }; export type SelectSourceContext = ColumnDataSchemaModel & { additionalData?: any; }; export type SelectSource = SelectOption[] | ((context: SelectSourceContext) => SelectOption[]); export interface SelectConfig extends ColumnDataSchemaModel { column: ColumnRegular & { source?: SelectSource; sourceLookup?: Record; labelKey?: string; valueKey?: string; }; } type SelectOriginalEvent = Event & { code?: string; }; type ObjectChange = { val: { label: string; value: any; }; originalEvent?: SelectOriginalEvent; }; type ArrayChange = { val: string; originalEvent?: SelectOriginalEvent; }; export type ChangeValue = ObjectChange | ArrayChange; export {};