import BaseService from '../common/BaseService';
import { GeneratedFileList } from '../common/model/OutputFileList';
import { FileInfo } from '../common/model/InputFileList';
interface IpldNode {
    Name: string;
    Hash: string;
    Size: number;
    Link: IpldNode[] | null;
}
export interface GenerateCarOutput {
    Ipld: IpldNode;
    PieceSize: number;
    PieceCid: string;
    DataCid: string;
}
export default class DealPreparationWorker extends BaseService {
    private readonly workerId;
    constructor();
    start(): void;
    private scan;
    private generate;
    static invokeGenerateCar(input: string, outDir: string, p: string, tmpDir?: string): Promise<[stdout: string, stderr: string, statusCode: number | null]>;
    private pollScanningWork;
    private pollGenerationWork;
    static populateGeneratedFileList(fileMap: Map<string, FileInfo>, ipld: IpldNode, segments: string[], selector: number[], list: GeneratedFileList): Promise<void>;
    private readonly PollInterval;
    private readonly ImmediatePollInterval;
    private startPollWork;
    private pollWork;
    private startHealthCheck;
    private healthCheck;
}
export {};
