import { type BinaryName, type CategoryName } from '../../../config/binaries.ts';
import { AbstractService } from '../../common/AbstractService.ts';
import { Binary } from '../entity/Binary.ts';
import { Task, type SyncBinaryTask } from '../entity/Task.ts';
export declare class BinarySyncerService extends AbstractService {
    private readonly binaryRepository;
    private readonly taskService;
    private readonly httpClient;
    private readonly nfsAdapter;
    private readonly eggObjectFactory;
    findBinary(targetName: BinaryName | CategoryName, parent: string, name: string): Promise<Binary | null>;
    listDirBinaries(binary: Binary, options?: {
        limit: number;
        since: string;
    }): Promise<Binary[]>;
    listRootBinaries(binaryName: BinaryName): Promise<Binary[]>;
    downloadBinary(binary: Binary): Promise<string | import("stream").Readable | undefined>;
    createTask(binaryName: BinaryName, lastData?: Record<string, unknown>): Promise<Task<import("../entity/Task.ts").TaskBaseData> | undefined>;
    findTask(taskId: string): Promise<SyncBinaryTask | null>;
    findTaskLog(task: SyncBinaryTask): Promise<string | import("stream").Readable | undefined>;
    findExecuteTask(): Promise<SyncBinaryTask | null>;
    executeTask(task: SyncBinaryTask): Promise<void>;
    private syncDir;
    private diff;
    private createBinary;
    private saveBinaryItem;
    private getBinaryAdapter;
}
