import { InjectionToken, Injector, OnChanges, OnDestroy, OnInit, SimpleChange, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core'; import { Observable, Subscription } from 'rxjs'; import * as i0 from "@angular/core"; export interface PageRenderStrategy { shouldRender(type?: string): boolean | Observable; onInit?(type?: string, injector?: Injector, context?: any): void; onDestroy?(type?: string, injector?: Injector, context?: any): void; onContextUpdate?(change?: SimpleChange): void; } export declare const PAGE_RENDER_STRATEGY: InjectionToken; export declare class PagePartDirective implements OnInit, OnDestroy, OnChanges { private templateRef; private viewContainer; private renderLogic; private injector; hasRendered: boolean; type: string; subscription: Subscription; context: any; set appPagePart(type: string); render: (shouldRender: boolean) => void; constructor(templateRef: TemplateRef, viewContainer: ViewContainerRef, renderLogic: PageRenderStrategy, injector: Injector); ngOnChanges({ context }: SimpleChanges): void; ngOnInit(): void; ngOnDestroy(): void; shouldRender(type: string): Observable; protected createRenderStream(type: string): void; protected clearSubscription(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; }