import type { Disposable } from '@difizen/mana-common';
import type { ConfigurationNode } from './configuration-protocol';
import type { ConfigurationProvider } from './configuration-provider';
export declare class ConfigurationCache implements Disposable {
    protected cache: Map<ConfigurationProvider, Map<string, any>>;
    has<T>(provider: ConfigurationProvider, node: ConfigurationNode<T>): boolean | undefined;
    set<T>(provider: ConfigurationProvider, node: ConfigurationNode<T>, value: T): void;
    get<T>(provider: ConfigurationProvider, node: ConfigurationNode<T>): T;
    remove<T>(provider: ConfigurationProvider, node: ConfigurationNode<T>): void;
    clear(provider?: ConfigurationProvider): void;
    protected _disposed: boolean;
    get disposed(): boolean;
    dispose(): void;
}
//# sourceMappingURL=configuration-cache.d.ts.map