import type { DataResourceSurface, DataTransactionOperation } from 'openxiangda-contracts/browser'; export interface ResourceImportRow { rowNumber: number; data: Record; errors: string[]; } export interface ResourceImportPreview { fileName: string; rows: ResourceImportRow[]; errors: string[]; operations: DataTransactionOperation[]; } export interface ResourceImportWorkbook { fileName: string; headers: string[]; matrix: unknown[][]; } export interface ResourceImportParseOptions { /** A field code per source column; null explicitly skips that column. */ fieldMapping?: Array; /** Parsing budget only. Native atomic transactions remain limited to 100 operations. */ maxRows?: number; requiredFields?: 'all' | 'mapped' | 'none'; blankCells?: 'skip' | 'null'; } /** Reads bounded, untrusted file contents. It never grants permission or performs a write. */ export declare function readResourceImportWorkbook(file: File): Promise; export interface ResourceImportFieldGuide { code: string; header: string; label: string; type: string; required: boolean; importable: boolean; format: string; example: string; note: string; } export interface ResourceImportTemplate { fileName: string; content: ArrayBuffer; fields: ResourceImportFieldGuide[]; } export declare function buildResourceImportTemplate(resourceName: string, surface: DataResourceSurface, writableFieldCodes: string[]): Promise; export declare function resourceImportFieldGuides(surface: DataResourceSurface, writableFieldCodes: string[]): ResourceImportFieldGuide[]; export declare function parseResourceImportFile(file: File, resourceCode: string, surface: DataResourceSurface, writableFieldCodes: string[]): Promise; export declare function parseResourceImportMatrix(fileName: string, matrix: unknown[][], resourceCode: string, surface: DataResourceSurface, writableFieldCodes: string[], options?: ResourceImportParseOptions): ResourceImportPreview; //# sourceMappingURL=resource-import.d.ts.map