import { FileId } from '../../model/model.js';
import { LocalFile } from '../../model/LocalFile.js';
import { Container, ContainerConfig, ContainerConfigArr, ContainerEngine } from '../../ContainerEngine.js';
import { FileContentService } from '../../utils/FileContentService.js';
interface FileToUpload {
    performRewrite?: string;
    path: string;
    file: LocalFile;
    parent: FileId;
}
export declare class UploadContainer extends Container {
    readonly params: ContainerConfig;
    readonly paramsArr: ContainerConfigArr;
    private progressNotifyCallback;
    private logger;
    private googleDriveService;
    private userConfigService;
    private generatedFileService;
    private pathToIdMap;
    constructor(params: ContainerConfig, paramsArr?: ContainerConfigArr);
    mount2(fileService: FileContentService, destFileService: FileContentService): Promise<void>;
    init(engine: ContainerEngine): Promise<void>;
    destroy(): Promise<void>;
    addIds(driveIdId: FileId, dirFileService: FileContentService, files: FileToUpload[]): Promise<void>;
    updateLinks(driveIdId: FileId, dirFileService: FileContentService, files: FileToUpload[]): Promise<void>;
    uploadFiles(driveIdId: FileId, dirFileService: FileContentService, files: FileToUpload[]): Promise<void>;
    uploadDir(folderId: FileId, dirFileService: FileContentService, parentPath: string): Promise<FileToUpload[]>;
    run(): Promise<void>;
    onProgressNotify(callback: ({ total, completed, warnings }: {
        total?: number;
        completed?: number;
        warnings?: number;
    }) => void): void;
    private rewriteLinks;
}
export {};
//# sourceMappingURL=UploadContainer.d.ts.map