///
///
import { IArchives, ArchiveFileInfo, ArchivesConfig, ChangesAfterConfig, DelConfig, FindConfig, GetConfig, GetInfoConfig, MoveFileConfig, SetConfig, SetLargeFileConfig } from "./IArchives";
export declare class ArchivesDisk implements IArchives {
private folder;
constructor(folder: string);
private filesDir;
private uploadsDir;
private handles;
private largeUploads;
private nextLargeUploadId;
init: {
(): Promise;
reset(): void;
set(newValue: Promise): void;
};
getDebugName(): string;
getConfig(): Promise;
getChangesAfter2(config: ChangesAfterConfig): Promise;
hasWriteAccess(): Promise;
private filePath;
set(key: string, data: Buffer, config?: SetConfig): Promise;
del(key: string, config?: DelConfig): Promise;
move(config: MoveFileConfig): Promise;
get(key: string, config?: GetConfig): Promise;
get2(key: string, config?: GetConfig): Promise<{
data: Buffer;
writeTime: number;
size: number;
} | undefined>;
getInfo(key: string, config?: GetInfoConfig): Promise<{
writeTime: number;
size: number;
} | undefined>;
find(prefix: string, config?: FindConfig): Promise;
findInfo(prefix: string, config?: FindConfig): Promise;
private collectFiles;
setLargeFile(config: SetLargeFileConfig): Promise;
startLargeUpload(): Promise;
/** offset makes the write POSITIONAL instead of appending: a retried part lands exactly where the failed attempt would have, so part retries are idempotent. One upload must use either appends or offsets throughout, never both - the cached handle keeps its first flags, and O_APPEND ignores the position argument. */
appendLargeUpload(id: string, data: Buffer, offset?: number): Promise;
finishLargeUpload(id: string, key: string, lastModified?: number): Promise;
cancelLargeUpload(id: string): Promise;
getURL(path: string): Promise;
}
export declare function applyFindInfoShape(files: ArchiveFileInfo[], prefix: string, config?: FindConfig): ArchiveFileInfo[];