import * as i0 from '@angular/core'; import { ComponentRef, Type, Injector, EnvironmentInjector, ViewContainerRef, ApplicationRef, WritableSignal, Binding, DirectiveWithBindings, EmbeddedViewRef, TemplateRef, InputSignal, InputSignalWithTransform, OnInit, OnChanges, SimpleChanges, Signal } from '@angular/core'; declare class TeleportDirective { readonly teleportTo: i0.ModelSignal; private viewRef; private tpl; private service; constructor(); static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare class TeleportOutletDirective { readonly teleportOutlet: i0.InputSignal; private vcr; private service; constructor(); static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } interface Options { component: Type; injector: Injector; environmentInjector: EnvironmentInjector; vcr: ViewContainerRef | undefined; appRef: ApplicationRef | undefined; contextSignal?: WritableSignal; bindings?: Binding[]; directives?: (Type | DirectiveWithBindings)[]; } declare class CompRef implements ViewRef { private options; ref: ComponentRef; constructor(options: Options); setInput>(input: K, value: InferInputSignalType): this; setInputs(inputs: Partial>>): this; detectChanges(): this; updateContext(context: Context): this; appendTo(container: Element): this; removeFrom(container: Element): this; getRawContent(): string; getElement(): T; destroy(): void; } declare class StringRef implements ViewRef { private value; constructor(value: string); getElement(): string; detectChanges(): this; updateContext(): this; destroy(): void; } interface Args { tpl: TemplateRef; context: C; vcr: ViewContainerRef | undefined; appRef: ApplicationRef | undefined; injector: Injector | undefined; } declare class TplRef implements ViewRef { private args; ref: EmbeddedViewRef<{}>; private element; constructor(args: Args); detectChanges(): this; getElement(): Element; destroy(): void; updateContext(context: C): this; } interface ViewRef { getElement(): Element | string; detectChanges(): ViewRef; updateContext(context: any): ViewRef; destroy(): void; } type ExcludeFunctionPropertyNames = { [Key in keyof T]: T[Key] extends InputSignal ? Key : T[Key] extends Function ? never : Key; }[keyof T]; type InferInputSignalType = T extends InputSignalWithTransform ? R : T extends InputSignal ? R : T; type ExtractInputTypes = { [Key in keyof T]: InferInputSignalType; }; type ExcludeFunctions = Pick>; type Content = string | number | TemplateRef | Type; type ResolveViewRef = T extends Type ? CompRef : T extends TemplateRef ? TplRef : StringRef; declare function isTemplateRef(value: any): value is TemplateRef; declare function isComponent(value: any): value is Type; declare function isString(value: any): value is string; declare function getViewRef(value: CompRef | TplRef): i0.ViewRef; declare class DynamicViewDirective implements OnInit, OnChanges { readonly view: i0.InputSignal; readonly injector: i0.InputSignal; readonly context: i0.InputSignal; readonly inputs: i0.InputSignal>; private viewRef; private defaultTpl; private vcr; private viewService; constructor(); ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; resolveContentType(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } interface _ViewOptions { vcr?: ViewContainerRef | undefined; injector?: Injector | undefined; } interface TemplateViewOptions extends _ViewOptions { context?: Record | undefined; } interface CompViewOptions extends _ViewOptions { environmentInjector?: EnvironmentInjector | undefined; context?: Context | undefined; bindings?: Binding[]; directives?: (Type | DirectiveWithBindings)[]; } type ViewOptions = _ViewOptions & CompViewOptions & TemplateViewOptions; declare class ViewUnsupportedContentTypeError extends Error { constructor(); } declare class ViewService { private injector; private appRef; private environmentInjector; createComponent(component: Type, options?: CompViewOptions): CompRef; createTemplate(tpl: TemplateRef, options?: TemplateViewOptions): TplRef>; createView(content: Type, viewOptions: CompViewOptions): CompRef; createView(content: TemplateRef, viewOptions: TemplateViewOptions): TplRef; createView(content: string): StringRef; createView(content: Content, viewOptions?: ViewOptions): ViewRef; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } declare function injectViewContext(): Signal; export { CompRef, DynamicViewDirective, StringRef, TeleportDirective, TeleportOutletDirective, TplRef, ViewService, ViewUnsupportedContentTypeError, getViewRef, injectViewContext, isComponent, isString, isTemplateRef }; export type { Content, ResolveViewRef, ViewOptions, ViewRef };