import { DatasetField } from './report-builder-types'; /** * Infer the field schema of an array of row-shaped objects by sampling up to the first * {@link SAMPLE_SIZE} rows. Handles scalar types, ISO-style date strings, nested objects, * and arrays of objects (recursively introspecting the nested shape). * * Keeping the sample small is deliberate — the explorer calls this on every config change * and the builder should stay snappy even if the underlying dataset is large. */ export declare function inferFieldsFromRows(rows: unknown[]): DatasetField[]; /** * Parse a JSON payload that is expected to be either a top-level array or a single object, * normalising both shapes into an array of row-shaped values. Returns an empty array on * malformed input — the caller decides whether to surface an error. */ export declare function parseJsonRows(raw: string | undefined): Record[];