export type CellValuesByColumnId = { [key: string]: CellValue }; export interface ForeignRowItem { foreignRowDisplayName: string; foreignRowId: string; } export type AttachmentValue = { url: string; id: string; filename: string; type: string; size: number; }[]; export type TextValue = string; export type CollaboratorValue = number; export type MutiCollaboratorValue = number[]; export type CheckboxValue = boolean; export type NumberValue = number; export type MultiSelectValue = string[]; export type ForeignKeyValue = ForeignRowItem[]; export type FormulaValue = | NumberValue | DateValue | TextValue | NumberValue[] | DateValue[] | TextValue[]; export type RollUpValue = FormulaValue; export type SelectValue = string; export type DateValue = string; export type CreatedByValue = number; export type LookupValue = { foreignRowIdOrder: string[]; valuesByForeignRowId: Record; }; export type GeolocationValue = { lng: number; lat: number; province: string; city: string; district: string; name: string; address: string; }; export type ButtonValue = { label: string; url: string }; export type CascadeValue = string[]; export enum DataStatusValue { inProgress = "inProgress", completed = "completed", } export type CellValue = | CascadeValue | CollaboratorValue | MutiCollaboratorValue | CheckboxValue | AttachmentValue | CreatedByValue | NumberValue | MultiSelectValue | SelectValue | ForeignKeyValue | DateValue | LookupValue | FormulaValue | RollUpValue | GeolocationValue | ButtonValue | DataStatusValue | null | undefined;