type UploadedMemoryFile = {
    originalname: string;
    mimetype: string;
    buffer?: Buffer;
    path?: string;
    size: number;
};
export declare class FileManagerService {
    private readonly rootDir;
    private readonly uploadTmpDir;
    list(path?: string, limit?: number, offset?: number): Promise<{
        rootName: string;
        currentPath: string;
        parentPath: string;
        items: {
            name: string;
            relativePath: string;
            kind: "file" | "folder";
            extension: string;
            fileType: string;
            size: number;
            modifiedAt: string;
            isImage: boolean;
            isArchive: boolean;
        }[];
        total: number;
        offset: number;
        limit: number;
        hasMore: boolean;
    }>;
    createFolder(path: string, name: string): Promise<{
        created: boolean;
    }>;
    createFile(path: string, name: string, content: string): Promise<{
        created: boolean;
    }>;
    rename(path: string, nextName: string): Promise<{
        renamed: boolean;
    }>;
    move(paths: string[], destinationPath: string): Promise<{
        moved: number;
        skipped: number;
        destinationPath: string;
    }>;
    remove(path: string): Promise<{
        deleted: boolean;
    }>;
    upload(path: string, files: UploadedMemoryFile[]): Promise<{
        uploaded: number;
    }>;
    unzip(path: string, destinationName: string): Promise<{
        extracted: boolean;
        folder: string;
        name: string;
    }>;
    resolveFile(path: string): Promise<{
        fullPath: string;
        name: string;
    }>;
    private ensureRootDir;
    private normalizeRelativePath;
    private resolveStoragePath;
    private buildChildPath;
    private buildSiblingPath;
    private parentPathOf;
    private toRelativePath;
    private sanitizeName;
    private normalizeLimit;
    private normalizeOffset;
    private safeStat;
    private removeTempUpload;
    private isSameOrInside;
    private nextAvailablePath;
    private nextAvailableDirectoryPath;
    private validateZipEntries;
    private fileTypeOf;
    private isImageExtension;
    private isArchiveExtension;
}
export {};
