import type { CsvAggregateInput, CsvDistinctInput, CsvProfileInput, CsvQueryInput } from './schemas'; import type { WorkspaceFiles } from './file-references'; export declare function queryCsv(workspaceRoot: string, files: WorkspaceFiles, input: CsvQueryInput): Promise<{ fileName: string; relativePath: string; columns: string[]; rowNumbers: number[]; rows: string[][]; records: { rowNumber: number; fileLineNumber: number; values: Record; }[]; rowCount: number; truncated: boolean; rowNumberBase: string; ambiguity: { matchedRows: number; message: string; suggestedColumns: string[]; sampleDistinctValues: { [k: string]: string[]; } | undefined; } | undefined; }>; export declare function profileCsv(workspaceRoot: string, files: WorkspaceFiles, input: CsvProfileInput): Promise<{ fileName: string; relativePath: string; columns: string[]; rowCount: number; sampleRows: Record[]; columnProfiles: { name: string; inferredType: "string" | "number" | "boolean" | "date" | "empty" | "integer"; emptyCount: number; distinctCount: number; distinctCountTruncated: boolean; sampleValues: string[]; }[]; likelyKeyColumns: string[]; likelyDisambiguatingColumns: string[]; }>; export declare function distinctCsv(workspaceRoot: string, files: WorkspaceFiles, input: CsvDistinctInput): Promise<{ fileName: string; relativePath: string; column: string; values: string[]; distinctCount: number; truncated: boolean; }>; export declare function aggregateCsv(workspaceRoot: string, files: WorkspaceFiles, input: CsvAggregateInput): Promise<{ fileName: string; relativePath: string; rowCount: number; functions: ("min" | "max" | "count" | "sum" | "avg")[]; metrics: string[]; groupBy: string[] | undefined; results: Record[]; truncated: boolean; skippedNonNumeric: Record; }>;