import type { Configuration } from '@o3r/core';
import { type Observable, type Observer, type Subject } from 'rxjs';
import { ConfigurationBaseService } from '../services/configuration/configuration.base.service';
export declare class ConfigurationObserver<T extends Configuration> implements Observer<Partial<T> | undefined>, Pick<Subject<T>, 'asObservable'> {
    /** Configuration ID */
    configId: string;
    /** Inner observable */
    private readonly observable;
    /** Inner subscriber */
    private readonly subscriber;
    /** @inheritdoc */
    closed?: boolean;
    constructor(
    /** Configuration ID */
    configId: string, defaultConfig: T, configurationService?: ConfigurationBaseService);
    /** @inheritdoc */
    next(value?: Partial<T>): void;
    /** @inheritdoc */
    error(err: any): void;
    /** @inheritdoc */
    complete(): void;
    /**
     * @inheritdoc
     */
    asObservable(): Observable<T>;
}
//# sourceMappingURL=configuration.observer.d.ts.map