/// <reference types="node" />
import { AbstractAccessor } from "../AbstractAccessor";
import { Record } from "../FileSystemIndex";
import { FileSystemObject } from "../FileSystemObject";
import { FileSystemOptions } from "../FileSystemOptions";
import { IdbFileSystem } from "./IdbFileSystem";
export declare class IdbAccessor extends AbstractAccessor {
    private dbName;
    private static SUPPORTS_ARRAY_BUFFER;
    private static SUPPORTS_BLOB;
    filesystem: IdbFileSystem;
    constructor(dbName: string, options: FileSystemOptions);
    get name(): string;
    doDelete(fullPath: string, _isFile: boolean): Promise<void>;
    doGetObject(fullPath: string): Promise<FileSystemObject>;
    doGetObjects(fullPath: string): Promise<FileSystemObject[]>;
    doMakeDirectory(fullPath: string): Promise<void>;
    doPutObjectIDB(obj: FileSystemObject): Promise<void>;
    doReadContent(fullPath: string): Promise<Blob | BufferSource | string>;
    doWriteContent(fullPath: string, content: Blob | BufferSource | string): Promise<void>;
    open(dbName: string): Promise<IDBDatabase>;
    purge(): Promise<void>;
    protected doSaveRecord(indexPath: string, record: Record): Promise<void>;
    protected doWriteArrayBuffer(fullPath: string, ab: ArrayBuffer): Promise<void>;
    protected doWriteBase64(fullPath: string, base64: string): Promise<void>;
    protected doWriteBlob(fullPath: string, blob: Blob): Promise<void>;
    protected doWriteBuffer(fullPath: string, buffer: Buffer): Promise<void>;
    private doDeleteWithStore;
    private doWriteContentToIdb;
    private drop;
    private initializeDB;
}
//# sourceMappingURL=IdbAccessor.d.ts.map