/**
 * -------------------------------------------------------------------------------------------
 * Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.
 * See License in the project root for license information.
 * -------------------------------------------------------------------------------------------
 */
import type { BackingStore } from "./backingStore.js";
type subscriptionCallback = (key: string, previousValue: unknown, newValue: unknown) => void;
interface storeEntry {
    key: string;
    value: unknown;
}
/** In-memory implementation of the backing store. Allows for dirty tracking of changes. */
export declare class InMemoryBackingStore implements BackingStore {
    get<T>(key: string): T | undefined;
    set<T>(key: string, value: T): void;
    enumerate(): storeEntry[];
    enumerateKeysForValuesChangedToNull(): string[];
    subscribe(callback: subscriptionCallback, subscriptionId?: string): string;
    unsubscribe(subscriptionId: string): void;
    clear(): void;
    private readonly subscriptions;
    private readonly store;
    returnOnlyChangedValues: boolean;
    private _initializationCompleted;
    set initializationCompleted(value: boolean);
    get initializationCompleted(): boolean;
}
export {};
//# sourceMappingURL=inMemoryBackingStore.d.ts.map