import type { Driver, DeleteResult, FileOperationResult, FileContentResult, DeleteParams, ArchiveParams, UnarchiveParams, SaveParams, RenameParams, TransferParams, ListParams, SearchParams, GetContentParams } from './types'; import type { DirEntry, FsData } from '../types'; /** * Base abstract adapter class that provides common functionality * for all adapter implementations */ export declare abstract class BaseAdapter implements Driver { /** * Validate that required parameters are provided */ protected validateParam(param: unknown, name: string): void; /** * Validate that a file path is provided */ protected validatePath(path: string): void; /** * Extract storage and path from a combined path string * Format: "storage://path" or just "path" */ protected parsePath(inputPath?: string): { storage?: string; path?: string; }; /** * Combine storage and path into a single path string */ protected combinePath(storage?: string, path?: string): string; /** * List files and folders at a given path */ abstract list(params?: ListParams): Promise; /** * Delete files/folders */ abstract delete(params: DeleteParams): Promise; /** * Rename a file or folder */ abstract rename(params: RenameParams): Promise; /** * Copy files/folders to a destination */ abstract copy(params: TransferParams): Promise; /** * Move files/folders to a destination */ abstract move(params: TransferParams): Promise; /** * Create a zip archive from files/folders */ abstract archive(params: ArchiveParams): Promise; /** * Extract files from a zip archive */ abstract unarchive(params: UnarchiveParams): Promise; /** * Create a new file */ abstract createFile(params: { path: string; name: string; }): Promise; /** * Create a new folder */ abstract createFolder(params: { path: string; name: string; }): Promise; /** * Get preview URL for a file */ abstract getPreviewUrl(params: { path: string; }): string; /** * Get file content */ abstract getContent(params: GetContentParams): Promise; /** * Get download URL for a file */ abstract getDownloadUrl(params: { path: string; }): string; /** * Search files */ abstract search(params: SearchParams): Promise; /** * Save content to file */ abstract save(params: SaveParams): Promise; }