import { ComponentRef, OnDestroy } from '@angular/core';
import { MfeOutletInputs, MfeOutletOutputs } from '../types';
import * as i0 from "@angular/core";
/**
 * The service that binds the dynamic component.
 */
export declare class DynamicComponentBinding implements OnDestroy {
    private readonly _destroy$;
    ngOnDestroy(): void;
    /**
     * Bind provided MfeOutletInputs to dynamic component.
     * @param componentRef Reference of component.
     * @param inputs Provided MfeOutletInputs.
     */
    bindInputs<T = unknown>(componentRef: ComponentRef<T>, inputs: MfeOutletInputs): void;
    /**
     * Bind provided MfeOutletOutputs to dynamic component.
     * @param componentRef Reference of component.
     * @param outputs Provided MfeOutletOutputs.
     */
    bindOutputs<T = unknown>(componentRef: ComponentRef<T>, outputs: MfeOutletOutputs): void;
    /**
     * Unbind all outputs.
     */
    unbindOutputs(): void;
    /**
     * Validate MfeOutletOutputs of dynamic component.
     * @param componentRef Reference of component.
     * @param outputs Provided MfeOutletOutputs.
     */
    private _validateOutputs;
    static ɵfac: i0.ɵɵFactoryDeclaration<DynamicComponentBinding, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<DynamicComponentBinding>;
}
