import { Injector, SimpleChanges } from '@angular/core';
import { RelationsComponent, RelationsComponentManager, RelationsProcessor } from '@anglr/dynamic/relations';
import { RelationsNodeMetadata } from '@anglr/dynamic/relations-editor';
import { ComponentOutputsRelationsOptions } from './componentOutputs.options';
/**
 * Relations used for connecting relations outputs with external relations
 */
export declare class ComponentOutputsRelations implements RelationsComponent<ComponentOutputsRelationsOptions> {
    protected injector: Injector;
    /**
     * Relations processor instance
     */
    protected relationsProcessor: RelationsProcessor | null;
    /**
     * Relations component manager
     */
    protected componentManager: RelationsComponentManager | null;
    /**
     * Id of component outputs relations
     */
    protected id: string;
    /**
     * Instance of custom component that uses these outputs
     */
    protected customComponent: any;
    /**
     * @inheritdoc
     */
    relationsOptions: ComponentOutputsRelationsOptions | undefined | null;
    constructor(injector: Injector);
    /**
     * @inheritdoc
     */
    ngOnChanges(changes: SimpleChanges): void;
    /**
     * @inheritdoc
     */
    invalidateVisuals(): void;
    /**
     * @inheritdoc
     */
    ngOnDestroy(): void;
    /**
     * Initialize outputs for component
     * @param outputRelations - Output relations metadata
     * @param id - Id of output relations
     */
    initOutputs(outputRelations: RelationsNodeMetadata<ComponentOutputsRelationsOptions>, id: string, customComponent: any): Promise<void>;
}
//# sourceMappingURL=componentOutputs.relations.d.ts.map