import { BadRequestError } from 'egg/errors';
import { AbstractService } from '../../common/AbstractService.ts';
import type { Package } from '../entity/Package.ts';
import type { Registry } from '../entity/Registry.ts';
import { type CreateSyncPackageTask, type SyncPackageTaskOptions, Task } from '../entity/Task.ts';
export declare class RegistryNotMatchError extends BadRequestError {
}
export declare class PackageSyncerService extends AbstractService {
    private readonly taskRepository;
    private readonly packageRepository;
    private readonly packageVersionDownloadRepository;
    private readonly packageVersionRepository;
    private readonly userRepository;
    private readonly npmRegistry;
    private readonly userService;
    private readonly taskService;
    private readonly packageManagerService;
    private readonly cacheService;
    private readonly httpClient;
    private readonly registryManagerService;
    private readonly packageVersionFileService;
    private readonly scopeManagerService;
    private readonly distRepository;
    createTask(fullname: string, options?: SyncPackageTaskOptions): Promise<Task<import("../entity/Task.ts").TaskBaseData>>;
    findTask(taskId: string): Promise<Task<import("../entity/Task.ts").TaskBaseData> | null>;
    findTaskLog(task: Task): Promise<string | import("stream").Readable | undefined>;
    findExecuteTask(): Promise<CreateSyncPackageTask>;
    get allowSyncDownloadData(): boolean;
    private syncDownloadData;
    private syncUpstream;
    private isRemovedInRemote;
    private syncDeletePkg;
    initSpecRegistry(task: Task, pkg?: Package | null, scope?: string): Promise<Registry>;
    executeTask(task: Task): Promise<void>;
    /**
     * sync package with packument
     * TODO:
     *  - [ ] support specificVersions
     */
    private syncPackageWithPackument;
}
