import { OnDestroy, OnInit } from '@angular/core'; import { RouterOutlet } from '@angular/router'; import { Destroyable } from '@bespunky/angular-zen/core'; import { RouterOutletComponentBus } from './router-outlet-component-bus.service'; import * as i0 from "@angular/core"; /** * Hooks into a router outlet's events and publishes the current component to the [`RouterOutletComponentBus`](/injectables/RouterOutletComponentBus.html) to create a mapping * of component instances by outlet name. * * Components instantiated by outlets marked with `publishComponent` will be accessible by outlet name in the bus service. * * @example * * * * * * @See `RouterOutletComponentBus` for more details. * * @export * @class PublishComponentDirective * @extends {Destroyable} * @implements {OnInit} */ export declare class PublishComponentDirective extends Destroyable implements OnInit, OnDestroy { private outlet; private componentBus; private outletName; constructor(outlet: RouterOutlet, componentBus: RouterOutletComponentBus, outletName: string); /** * Registers to outlet events to publish the activated and deactivated components to the bus. * */ ngOnInit(): void; /** * Unpublishes the outlet from the bus. */ ngOnDestroy(): void; private updateComponentOnBus; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; }