import * as xlsx from 'xlsx';
import type ModusResult from '@oada/types/modus/v1/modus-result.js';
import type Slim from '@oada/types/modus/slim/v1/0.js';
export declare type InputFile = {
    filename: string;
    format?: 'generic';
    str?: string;
    arrbuf?: ArrayBuffer;
    base64?: string;
};
export declare function fromModusV1(input: ModusResult): Slim;
export declare function setPath(obj: any, objPath: string, newObj: any, newPath: string, func?: (v: any) => any): void;
export declare function flatten(input: Slim): Slim;
export declare type StandardCsvObject = {
    DocumentName?: string;
    DocumentDate: string;
    DocumentID: string;
    DocumentType: 'Soil' | 'Plant';
    LabID?: string;
    LabName?: string;
    LabReportID?: string;
    DateReceived?: string;
    DateProcessed?: string;
    LabContactName?: string;
    LabContactAddress?: string;
    LabContactPhone?: string;
    ClientAccountNumber?: string;
    ClientName?: string;
    ClientCompany?: string;
    ClientCity?: string;
    ClientState?: string;
    SourceReportID?: string;
    GrowerName?: string;
    GrowerID?: string;
    FarmName?: string;
    FarmID?: string;
    FieldName?: string;
    FieldID?: string;
    SubFieldName?: string;
    SubFieldID?: string;
    SampleID?: string;
    SourceSampleID?: string;
    LabSampleID?: string;
    Latitude?: number;
    Longitude?: number;
    DepthTop?: string;
    DepthBottom?: string;
    DepthUnits?: string;
    Crop?: string;
    PlantPart?: string;
    GrowthStage?: string;
    SubGrowthStage?: string;
}[];
export declare function toStandardCsv(input: Slim, separateMetadata?: boolean): {
    [x: string]: any;
}[];
export declare function fromStandardCsv(input: Record<string, any>[]): Slim;
export declare function toCsv(input: Slim | Slim[]): {
    wb: xlsx.WorkBook;
    str: string;
};
export declare function aggregateSlims(slims: Slim[]): Slim;
export declare function disaggregate(slim: Slim): Slim[];
export declare function unflatten(slim: Slim): Slim;
export declare function unflatten2(slim: Slim): Slim;
