/*!
 * Copyright 2019 VMware, Inc.
 * SPDX-License-Identifier: BSD-2-Clause
 */
import { ComponentFactoryResolver, ViewContainerRef } from '@angular/core';
import { ComponentRendererSpec } from '../interfaces/component-renderer.interface';
/**
 * Component that acts as a host element for dynamic rendering of component constructors.
 * It takes {@link ComponentRendererSpec} and also 'context' as input in case of a {@link ColumnRendererSpec} that serves as argument for
 * {@link ColumnRendererSpec.config} method. Attaches the component to be rendered to the view container of host element
 * and updates it's configuration whenever changed.
 *
 * Example usage:
 * <ng-template
 *      [vcdComponentRendererOutlet]="{ rendererSpec: column.fieldColumnRendererSpec, context: restItem }"
 * ></ng-template>
 *
 */
export declare class ComponentRendererOutletDirective<R, T> {
    private viewContainerRef;
    private cfr;
    private componentRef;
    private componentType;
    constructor(viewContainerRef: ViewContainerRef, cfr: ComponentFactoryResolver);
    /**
     * Sets the component that this outlet should render. Where rendererSpec is the
     * {@link ComponentRendererSpec} that details how to render the component and context
     * is any information that the component needs to render.
     */
    set vcdComponentRendererOutlet(renderer: {
        rendererSpec: ComponentRendererSpec<T>;
        context?: R;
    });
    /**
     * Attaches the passed component type to the view of this directive host
     */
    private attachRenderer;
    /**
     * Updates the configuration of instantiated component
     */
    private assignValue;
    private detachRenderer;
}
