import { Filter } from "../metadata/UnitMetadata.js"; import { DataUnitAction, ExecutionContext } from "../state/action/DataUnitAction.js"; export interface LoadDataParams { quickFilter?: QuickFilter; executionCtx?: ExecutionContext; checkLastFilter?: boolean; source?: string; selectFirstRecord?: boolean; keepSelection?: boolean } export interface DUActionInterceptor { interceptAction(action: DataUnitAction): DataUnitAction | Promise; } export interface Record { __record__id__: string; __record__label__?: string; __parent__record__id__?: string; __owner__dataunit__name__?: string; [key: string]: any; } export interface SavedRecord extends Record { __old__id__?: string; } export enum ChangeOperation { INSERT = "INSERT", COPY = "COPY", UPDATE = "UPDATE", DELETE = "DELETE", } export interface WaitingChange { waitmessage: string; blocking: boolean; promise?: Promise; } export interface PageRequest { limit: number; offset: number; quickFilter?: QuickFilter; } export interface QuickFilter { term: string; fields?: Array; filter?: Filter; } export interface PageResponse { limit: number; offset: number; total: number; hasMore: boolean; records: Array; } export enum SelectionMode { ALL_RECORDS = "ALL_RECORDS", SOME_RECORDS = "SOME_RECORDS" } export type DataUnitEventOptions = { suppressCreateNewRecord?: boolean; [key: string]: any }; export type HideFieldOptions = { visibleOnConfig: boolean };