/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { Bytes, FilesystemStorageDriver, StorageDriver, SupportedStorageTypes, type DataNamespace } from "@matter/general";
export declare class FileStorageDriver extends FilesystemStorageDriver {
    #private;
    static readonly id = "file";
    static create(namespace: DataNamespace, _descriptor: StorageDriver.Descriptor): Promise<FileStorageDriver>;
    protected isInitialized: boolean;
    constructor(namespaceOrPath?: DataNamespace | string, clear?: boolean);
    get initialized(): boolean;
    initialize(): Promise<void>;
    close(): Promise<void>;
    filePath(fileName: string): string;
    getContextBaseKey(contexts: string[]): string;
    buildStorageKey(contexts: string[], key: string): string;
    has(contexts: string[], key: string): Promise<boolean>;
    get<T extends SupportedStorageTypes>(contexts: string[], key: string): Promise<T | undefined>;
    openBlob(contexts: string[], key: string): Promise<Blob>;
    writeBlobFromStream(contexts: string[], key: string, stream: ReadableStream<Bytes>): Promise<void>;
    set(contexts: string[], key: string, value: SupportedStorageTypes): Promise<void>;
    set(contexts: string[], values: Record<string, SupportedStorageTypes>): Promise<void>;
    delete(contexts: string[], key: string): Promise<void>;
    /** Returns all keys of a storage context without keys of sub-contexts */
    keys(contexts: string[]): Promise<string[]>;
    values(contexts: string[]): Promise<Record<string, SupportedStorageTypes>>;
    contexts(contexts: string[]): string[];
    clearAll(contexts: string[]): Promise<void>;
}
//# sourceMappingURL=FileStorageDriver.d.ts.map