/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { MaybePromise } from "../util/Promises.js";
import { StorageDriver } from "./StorageDriver.js";
import { SupportedStorageTypes } from "./StringifyTools.js";
/**
 * A lightweight handle that delegates all operations to an underlying {@link StorageDriver}.
 *
 * {@link StorageService} returns these instead of raw drivers so that multiple callers can share the same underlying
 * driver instance.  {@link close} calls a release callback (to decrement a reference count) rather than closing the
 * real driver.
 */
export declare class StorageDriverHandle extends StorageDriver {
    #private;
    clone?: () => MaybePromise<StorageDriver>;
    constructor(driver: StorageDriver, release: () => MaybePromise<void>);
    get id(): string;
    get initialized(): boolean;
    initialize(): MaybePromise<void>;
    close(): MaybePromise<void>;
    get(contexts: string[], key: string): MaybePromise<SupportedStorageTypes | undefined>;
    set(contexts: string[], values: Record<string, SupportedStorageTypes>): MaybePromise<void>;
    set(contexts: string[], key: string, value: SupportedStorageTypes): MaybePromise<void>;
    delete(contexts: string[], key: string): MaybePromise<void>;
    keys(contexts: string[]): MaybePromise<string[]>;
    values(contexts: string[]): MaybePromise<Record<string, SupportedStorageTypes>>;
    contexts(contexts: string[]): MaybePromise<string[]>;
    clearAll(contexts: string[]): MaybePromise<void>;
    has(contexts: string[], key: string): MaybePromise<boolean>;
    begin(): MaybePromise<StorageDriver.Transaction>;
}
//# sourceMappingURL=StorageDriverHandle.d.ts.map