import { Type } from '@angular/core';
import type { Configuration, Context } from '@o3r/core';
import { Observable } from 'rxjs';
import * as i0 from "@angular/core";
export declare class C11nService {
    private readonly presentersMap;
    constructor(presentersMap: Map<string, any>);
    /**
     * Add a presenter
     * @param presKey The presenter key to set
     * @param presenter The new presenter
     */
    addPresenter<T extends Context>(presKey: string, presenter: Type<T>): void;
    /**
     * Operator to retrieve the presenter based on a given presKey
     * @param defaultPres The default presenter
     * @param presKey The presenter key to retrieve
     */
    getPresenter<T extends Context>(defaultPres: Type<T>, presKey?: string): (source: Observable<Configuration>) => Observable<Type<T>>;
    static ɵfac: i0.ɵɵFactoryDeclaration<C11nService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<C11nService>;
}
//# sourceMappingURL=c11n.service.d.ts.map