import { Readable } from 'stream';
export interface ExcelReadOptions {
    pageSize?: number;
    hasHeaderRow?: boolean;
    providedHeaders?: string[];
}
export interface ExcelReadResult {
    headers: string[];
    data: Record<string, any>[];
}
export interface ExcelReadAllResult {
    headers: string[];
    rows: Record<string, any>[];
}
export declare class ExcelService {
    private logger;
    createExcelStream(getDataRecords: (chunkIndex: number, chunkSize: number) => Promise<any[]>, chunkSize?: number, headers?: string[]): Promise<Readable>;
    readExcelInPagesFromStream(stream: Readable, options?: ExcelReadOptions): AsyncGenerator<ExcelReadResult>;
    private cleanString;
    private normalizeCellValue;
    readExcelFromStreamNonStreaming(stream: Readable, options?: ExcelReadOptions & {
        worksheetIndex?: number;
        maxRows?: number;
    }): Promise<ExcelReadAllResult>;
    parseAndValidateDate(value: string): Date | null;
}
//# sourceMappingURL=excel.service.d.ts.map