/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { StorageDriver } from "./StorageDriver.js";
import { SupportedStorageTypes } from "./StringifyTools.js";
/**
 * Async key-value interface that web-style storage backends must implement.
 *
 * Mirrors the subset of the `@react-native-async-storage/async-storage` v3 API that storage drivers actually use.
 */
export interface WebStorageProvider {
    getItem(key: string): Promise<string | null>;
    setItem(key: string, value: string): Promise<void>;
    removeItem(key: string): Promise<void>;
    getAllKeys(): Promise<string[]>;
    getMany(keys: string[]): Promise<Record<string, string | null>>;
    setMany(entries: Record<string, string>): Promise<void>;
    removeMany(keys: string[]): Promise<void>;
    clear(): Promise<void>;
}
/**
 * {@link StorageDriver} for web-style async key-value stores.
 *
 * Shared implementation for any backend that satisfies the {@link WebStorageProvider} interface (e.g. React Native
 * AsyncStorage v2/v3, browser localStorage wrapper, etc.).
 */
export declare class WebStorageDriver extends StorageDriver {
    #private;
    constructor(storage: WebStorageProvider);
    get initialized(): boolean;
    initialize(): void;
    close(): void;
    clear(): Promise<void>;
    getContextBaseKey(contexts: string[]): string;
    buildStorageKey(contexts: string[], key: string): string;
    get<T extends SupportedStorageTypes>(contexts: string[], key: string): Promise<T | undefined>;
    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>;
    keys(contexts: string[]): Promise<string[]>;
    values(contexts: string[]): Promise<Record<string, SupportedStorageTypes>>;
    contexts(contexts: string[]): Promise<string[]>;
    clearAll(contexts: string[]): Promise<void>;
}
//# sourceMappingURL=WebStorageDriver.d.ts.map