import { type CptRow } from "./depth-correction.js"; import { type GEFHeadersMap, type ProcessedCptMetadata } from "./gef-common.js"; import { type ColumnInfo, type GefCptHeaders } from "./gef-schemas.js"; import type { GefWarning } from "./gef-warnings.js"; import { type SoilCode } from "./gef-bore-codes.js"; export type GefExtension = "standard" | "bro" | "belgian" | "klasse1" | "votb"; export interface PreExcavationLayer { depthTop: number; depthBottom: number; description: string; unit: string; /** * NEN 5104-style soil code derived from `description` (e.g. "Ks1" for * "klei zwak siltig"), "NBE" when no soil is recognised. Lets consumers * treat pre-excavation layers like coded borehole layers. */ soilCode: string; /** Structured decomposition of `soilCode`, same shape as `BoreLayer.soil`. */ soil: SoilCode; /** * Normalised Dutch reading of `soilCode` ("Klei, zwak siltig"), same shape * as `BoreLayer.soilText`. The verbatim driller text stays in `description`. */ soilText: string; } export interface GefCptData { fileType: "CPT"; data: Array; headers: GefCptHeaders; columnInfo: Array; warnings: Array; processed: ProcessedCptMetadata; } export declare function processCptMetadata(filename: string, headers: GefCptHeaders, columnInfo: Array): ProcessedCptMetadata; export declare function parsePreExcavationLayers(headers: GefCptHeaders): Array; export type Unit = "m" | "MPa" | "%" | "degrees" | "kN/m³" | "S/m" | "nT" | "°C" | "s" | "-"; /** * Detect which GEF extension is used based on file headers */ export declare function detectGefExtension(measurementTextIds?: Array, measurementVarIds?: Array): GefExtension; /** * Find a CPT measurement variable by ID, considering the extension */ export declare function findCptMeasurementVariable(id: number, extension: GefExtension): ({ defaultValue: number; unit: string; description: string; descriptionNl: string; category: string; dataType: string; } | { defaultValue: number; unit: string; description: string; descriptionNl: string; category: string; dataType: string; } | { defaultValue: null; unit: string; description: string; descriptionNl: string; category: string; dataType: string; } | { defaultValue: null; unit: string; description: string; descriptionNl: string; category: string; dataType: string; } | { defaultValue: number; unit: string; description: string; descriptionNl: string; category: string; dataType: string; } | { defaultValue: null; unit: string; description: string; descriptionNl: string; category: string; dataType: string; options: { value: number; meaning: string; }[]; } | { defaultValue: null; unit: string; description: string; descriptionNl: string; category: string; dataType: string; options: { value: number; meaning: string; }[]; } | { defaultValue: null; unit: string; description: string; descriptionNl: string; category: string; dataType: string; options: { value: number; meaning: string; }[]; } | { defaultValue: null; unit: string; description: string; descriptionNl: string; category: string; dataType: string; options: { value: number; meaning: string; }[]; } | { defaultValue: null; unit: string; description: string; descriptionNl: string; category: string; dataType: string; options: { value: number; meaning: string; }[]; } | { defaultValue: null; unit: string; description: string; descriptionNl: string; category: string; dataType: string; options: { value: number; meaning: string; }[]; } | { defaultValue: null; unit: string; description: string; descriptionNl: string; category: string; dataType: string; options: { value: number; meaning: string; }[]; } | { defaultValue: null; unit: string; description: string; descriptionNl: string; category: string; dataType: string; } | { defaultValue: null; unit: string; description: string; descriptionNl: string; category: string; dataType: string; } | { defaultValue: null; unit: string; description: string; descriptionNl: string; category: string; dataType: string; } | { defaultValue: null; unit: string; description: string; descriptionNl: string; category: string; dataType: string; } | { defaultValue: null; unit: string; description: string; descriptionNl: string; category: string; dataType: string; options: { value: number; meaning: string; }[]; } | { defaultValue: null; unit: string; description: string; descriptionNl: string; category: string; dataType: string; } | { defaultValue: null; unit: string; description: string; descriptionNl: string; category: string; dataType: string; } | { defaultValue: null; unit: string; description: string; descriptionNl: string; category: string; dataType: string; } | { defaultValue: null; unit: string; description: string; descriptionNl: string; category: string; dataType: string; } | { defaultValue: null; unit: string; description: string; descriptionNl: string; category: string; dataType: string; } | { defaultValue: null; unit: string; description: string; descriptionNl: string; category: string; dataType: string; } | { defaultValue: null; unit: string; description: string; descriptionNl: string; category: string; dataType: string; } | { defaultValue: null; unit: string; description: string; descriptionNl: string; category: string; dataType: string; } | { defaultValue: null; unit: string; description: string; descriptionNl: string; category: string; dataType: string; } | { defaultValue: null; unit: string; description: string; descriptionNl: string; category: string; dataType: string; } | { defaultValue: null; unit: string; description: string; descriptionNl: string; category: string; dataType: string; } | { defaultValue: null; unit: string; description: string; descriptionNl: string; category: string; dataType: string; } | { defaultValue: null; unit: string; description: string; descriptionNl: string; category: string; dataType: string; } | { defaultValue: null; unit: string; description: string; descriptionNl: string; category: string; dataType: string; } | { defaultValue: null; unit: string; description: string; descriptionNl: string; category: string; dataType: string; } | { defaultValue: null; unit: string; description: string; descriptionNl: string; category: string; dataType: string; } | { defaultValue: null; unit: string; description: string; descriptionNl: string; category: string; dataType: string; } | { defaultValue: null; unit: string; description: string; descriptionNl: string; category: string; dataType: string; }) | undefined; export declare function parseGefCptData(dataString: string, headersMap: GEFHeadersMap): { data: CptRow[]; headers: { PROJECTID: string | undefined; TESTID: string | undefined; COMPANYID: { name: string; address: string | undefined; countryCode: string | undefined; } | undefined; STARTDATE: { year: number; month: number; day: number; } | undefined; STARTTIME: { hour: number; minute: number; second: number; } | undefined; FILEDATE: { year: number; month: number; day: number; } | undefined; XYID: { coordinateSystem: "00000" | "00001" | "01000" | "31000" | "31001" | "31002" | "32000" | "49000"; x: number; y: number; deltaX: number | undefined; deltaY: number | undefined; } | undefined; ZID: { code: "00000" | "00001" | "31000" | "32000" | "49000" | "32001"; height: number; deltaZ: number | undefined; } | undefined; COLUMN: number | undefined; LASTSCAN: number | undefined; DATAFORMAT: string | undefined; COLUMNSEPARATOR: string | undefined; RECORDSEPARATOR: string | undefined; COLUMNINFO: { colNum: number; unit: string; name: string; quantityNumber: number; }[] | undefined; COLUMNVOID: { columnNumber: number; voidValue: number; }[] | undefined; COLUMNTEXT: { columnNumber: number; }[] | undefined; MEASUREMENTVAR: { id: number; value: number | undefined; unit: string; description: string; }[] | undefined; MEASUREMENTTEXT: { id: number; text: string; extra: string[]; }[] | undefined; GEFID: { major: number; minor: number; patch: number; } | undefined; REPORTCODE: { code: string; major: number; minor: number; patch: number; extra: string[]; } | undefined; MEASUREMENTCODE: { code: string; major: number; minor: number; patch: number; extra: string[]; } | undefined; FILEOWNER: string | undefined; OS: string | undefined; SPECIMENVAR: { id: number; value: number | undefined; unit: string; description: string; }[] | undefined; COMMENT: string[] | undefined; COLUMNMINMAX: { columnNumber: number; min: number; max: number; }[] | undefined; CHILD: { index: number; reference: string; value: number | undefined; unit: string | undefined; quantity: string | undefined; quantityNumber: number | undefined; explanation: string | undefined; }[] | undefined; }; columnInfo: { colNum: number; unit: string; name: string; quantityNumber: number; }[]; warnings: GefWarning[]; }; export declare function generateCptWarnings(filename: string, headers: GefCptHeaders, data?: Array): Array; /** * Find column by quantity number */ export declare function findColumnByQuantity(columns: Array, quantityNumber: number): ColumnInfo | undefined; //# sourceMappingURL=gef-cpt.d.ts.map