import { Writable } from 'stream';
import { Task } from '../common/types/common-type.js';
import { ISheetMeta } from './SheetMeta.js';

interface IPartialDataHandler {
    do(args: any): Promise<boolean>;
    stream(): Writable;
}
type DataTranfer = {
    items: any[] | null;
    sheetCompleted: boolean;
    isCompleted: boolean;
    sheetName?: string;
    jobIndex?: number;
};
declare class PartialDataHandler implements IPartialDataHandler {
    private task;
    private originalSheetName;
    private sheetMeta?;
    done: Task<any>;
    set SheetMeta(value: ISheetMeta);
    constructor(originalSheetName: string, task: Task<DataTranfer>);
    do(args: Pick<DataTranfer, "items" | "jobIndex">): Promise<boolean>;
    stream(): Writable;
}

export { type DataTranfer, type IPartialDataHandler, PartialDataHandler };
