///
import { ContentsCache } from "./ContentsCache";
import { DataType, FileSystem } from "./filesystem";
import { FileNameIndex, Record, RecordCache } from "./FileSystemIndex";
import { FileSystemObject } from "./FileSystemObject";
import { FileSystemOptions } from "./FileSystemOptions";
export declare abstract class AbstractAccessor {
readonly options: FileSystemOptions;
protected contentsCache: ContentsCache;
protected recordCache: RecordCache;
abstract readonly filesystem: FileSystem;
abstract readonly name: string;
constructor(options: FileSystemOptions);
clearContentsCache(fullPath: string): void;
createIndexPath(fullPath: string, createDirectory: boolean): Promise;
createRecord(obj: FileSystemObject): Promise;
delete(fullPath: string, isFile: boolean, truncate: boolean): Promise;
deleteRecord(fullPath: string, _isFile: boolean): Promise;
deleteRecursively(fullPath: string, truncate: boolean): Promise;
doPutObject(obj: FileSystemObject, content?: Blob | BufferSource | string): Promise;
doWriteContent(fullPath: string, content: Blob | BufferSource | string): Promise;
getFileNameIndex(dirPath: string): Promise;
getObject(fullPath: string, isFile: boolean): Promise;
getObjects(dirPath: string): Promise;
getRecord(fullPath: string): Promise;
getURL(_fullPath: string, _method?: "GET" | "POST" | "PUT" | "DELETE"): Promise;
makeDirectory(fullPath: string): Promise;
purge(): Promise;
putObject(obj: FileSystemObject, content?: Blob | BufferSource | string): Promise;
putText(obj: FileSystemObject, text: string): Promise;
readContent(obj: FileSystemObject, type?: DataType): Promise;
readContentInternal(obj: FileSystemObject, type?: DataType): Promise;
readText(obj: FileSystemObject): Promise;
remove(obj: FileSystemObject): Promise;
removeRecursively(obj: FileSystemObject): Promise;
saveRecord(fullPath: string, record: Record): Promise;
truncateRecord(fullPath: string): Promise;
abstract doDelete(fullPath: string, isFile: boolean): Promise;
abstract doGetObject(fullPath: string, isFile: boolean): Promise;
abstract doGetObjects(dirPath: string): Promise;
abstract doMakeDirectory(fullPath: string): Promise;
abstract doReadContent(fullPath: string): Promise;
protected debug(title: string, value: string | FileSystemObject): void;
protected doSaveRecord(indexPath: string, record: Record): Promise;
protected doWriteUint8Array(fullPath: string, view: Uint8Array): Promise;
protected handleNotFoundError(fullPath: string, isFile: boolean): Promise;
protected handleReadError(e: any, fullPath: string, isFile: boolean): Promise;
protected handleWriteError(e: any, fullPath: string, isFile: boolean): Promise;
protected initialize(options: FileSystemOptions): void;
protected initializeContentsCacheOptions(options: FileSystemOptions): void;
protected initializeIndexOptions(options: FileSystemOptions): void;
protected abstract doWriteArrayBuffer(fullPath: string, buffer: ArrayBuffer): Promise;
protected abstract doWriteBase64(fullPath: string, base64: string): Promise;
protected abstract doWriteBlob(fullPath: string, blob: Blob): Promise;
protected abstract doWriteBuffer(fullPath: string, buffer: Buffer): Promise;
private afterDelete;
private afterGet;
private afterHead;
private afterPost;
private afterPut;
private beforeDelete;
private beforeGet;
private beforeHead;
private beforePost;
private beforePut;
}
//# sourceMappingURL=AbstractAccessor.d.ts.map