import { Config } from '@backstage/config';
import { JsonValue } from '@backstage/types';
export declare class ObservableConfigProxy implements Config {
    private readonly parent?;
    private readonly parentKey?;
    private readonly abortController?;
    private config;
    private readonly subscribers;
    static create(abortController: AbortController): ObservableConfigProxy;
    private constructor();
    setConfig(config: Config): void;
    close(): void;
    subscribe(onChange: () => void): {
        unsubscribe: () => void;
    };
    private select;
    has(key: string): boolean;
    keys(): string[];
    get<T = JsonValue>(key?: string): T;
    getOptional<T = JsonValue>(key?: string): T | undefined;
    getConfig(key: string): Config;
    getOptionalConfig(key: string): Config | undefined;
    getConfigArray(key: string): Config[];
    getOptionalConfigArray(key: string): Config[] | undefined;
    getNumber(key: string): number;
    getOptionalNumber(key: string): number | undefined;
    getBoolean(key: string): boolean;
    getOptionalBoolean(key: string): boolean | undefined;
    getString(key: string): string;
    getOptionalString(key: string): string | undefined;
    getStringArray(key: string): string[];
    getOptionalStringArray(key: string): string[] | undefined;
}
