import type { AnyObject } from "prostgles-types/dist"; import type { DBHandlerServer } from "../../Prostgles"; import type { ValidateRowArgsCommon, ValidateRowBasic } from "../../PublishParser/PublishParser"; import type { LocalParams, TableSchemaColumn } from "../DboBuilder"; import type { TableHandler, ValidatedParams } from "./TableHandler"; type RowFieldDataPlain = { type: "plain"; column: TableSchemaColumn; fieldValue: any; }; type RowFieldDataFunction = { type: "function"; column: TableSchemaColumn; funcName: string; args: any[]; }; type RowFieldData = RowFieldDataPlain | RowFieldDataFunction; type ParsedRowFieldData = { escapedCol: string; escapedVal: string; }; type ParseDataArgs = { rows: AnyObject[]; allowedCols: string[]; dbTx: DBHandlerServer; tx: ValidateRowArgsCommon["tx"]; command: "update" | "insert"; validationOptions: { localParams: undefined | LocalParams; validate: undefined | ValidateRowBasic; }; }; export declare class DataValidator { rowFieldData?: RowFieldData[][]; parsedRowFieldData?: ParsedRowFieldData[][]; tableHandler: TableHandler; constructor(tableHandler: TableHandler); parse: (args: ParseDataArgs) => Promise<{ parsedRowFieldData: { escapedCol: string; escapedVal: string; }[][]; getQuery: () => string; }>; } /** * Add synced_field value if missing * prepareFieldValues(): Apply forcedData, remove disallowed columns, validate against allowed columns * tableConfigurator?.checkColVal(): Validate column min/max/isText/lowerCased/trimmed values */ export declare const prepareNewData: ({ row, forcedData, allowedFields, tableRules, removeDisallowedFields, tableConfigurator, tableHandler, }: ValidatedParams) => { data: AnyObject; allowedCols: string[]; }; export {}; //# sourceMappingURL=DataValidator.d.ts.map