import { FlexRenderComponentRef } from './flex-render-component-ref'; import { EmbeddedViewRef, TemplateRef, Type } from '@angular/core'; import type { FlexRenderContent } from '../flex-render'; import { FlexRenderComponent } from './flex-render-component'; export type FlexRenderTypedContent = { kind: 'null'; } | { kind: 'primitive'; content: string | number | Record; } | { kind: 'flexRenderComponent'; content: FlexRenderComponent; } | { kind: 'templateRef'; content: TemplateRef; } | { kind: 'component'; content: Type; }; export declare function mapToFlexRenderTypedContent(content: FlexRenderContent): FlexRenderTypedContent; export type FlexRenderViewAllowedType = FlexRenderComponentRef | EmbeddedViewRef | null; export declare abstract class FlexRenderView { #private; readonly view: TView; protected constructor(initialContent: Exclude, view: TView); get previousContent(): FlexRenderTypedContent; get content(): FlexRenderTypedContent; set content(content: FlexRenderTypedContent); abstract updateProps(props: Record): void; abstract dirtyCheck(): void; abstract onDestroy(callback: Function): void; abstract eq(view: TContent): boolean; } export declare class FlexRenderTemplateView extends FlexRenderView, Extract> { constructor(initialContent: Extract, view: EmbeddedViewRef); updateProps(props: Record): void; dirtyCheck(): void; onDestroy(callback: Function): void; eq(compare: Extract): boolean; } export declare class FlexRenderComponentView extends FlexRenderView, Extract> { constructor(initialContent: Extract, view: FlexRenderComponentRef); updateProps(props: Record): void; dirtyCheck(): void; onDestroy(callback: Function): void; eq(compare: Extract): boolean; }