import { Container, ContainerConfig, ContainerEngine } from '../../ContainerEngine.js';
import { FileId } from '../../model/model.js';
export interface Drive {
    id: FileId;
    name: string;
    kind: string;
    new?: boolean;
}
export interface Permission {
    id: string;
    type: 'user';
    role: 'reader';
    kind: string;
}
export interface Folder {
    id: FileId;
    name: string;
    new?: boolean;
    driveId?: FileId;
}
export interface FoldersMap {
    [id: string]: Folder;
}
export declare class FolderRegistryContainer extends Container {
    readonly params: ContainerConfig;
    private logger;
    private folders;
    constructor(params: ContainerConfig);
    init(engine: ContainerEngine): Promise<void>;
    refreshDrives(): Promise<void>;
    registerFolder(folderId: FileId): Promise<Folder>;
    unregisterFolder(folderId: FileId): Promise<void>;
    getFolders(): FoldersMap;
    pruneFolder(folderId: FileId): Promise<void>;
    pruneTransformFolder(folderId: FileId): Promise<void>;
    pruneGitFolder(folderId: FileId): Promise<void>;
    flushData(): Promise<void>;
    run(): Promise<void>;
    destroy(): Promise<void>;
    rename(folderId: string, name: string): Promise<void>;
    hasFolder(folderId: string): boolean;
}
//# sourceMappingURL=FolderRegistryContainer.d.ts.map