import * as ng from "@angular/core"; import React from "react"; import { InjectableReactContext } from "../injectable-react-context/use-injectable-react-context"; import { createRoot } from "react-dom/client"; /** * Create a template ref from a React component. * * This template is meant to be used in a `[ngTemplateOutlet]` where `[ngTemplateOutletInjector]` is defined. * If you can't define `[ngTemplateOutletInjector]`, use `useToAngularTemplateRefBoundToContextAndPortals`. */ export declare function useToAngularTemplateRef(Component: (props: C) => any): ng.TemplateRef | undefined; /** * Create a template ref from a React component. * The template ref is bound to the context of where this hook is called. * Because of this, you don't need `[ngTemplateOutletInjector]` on the ``. * This hook returns `[templateRef, portals]`. * Make sure the portals are rendered somewhere in your tree: `<>{portals}`. */ export declare function useToAngularTemplateRefBoundToContextAndPortals(Component: (props: C) => any): readonly [ng.TemplateRef | undefined, React.ReactPortal[]]; export declare function useToAngularTemplateRefWithModule(Component: (props: C) => any, ngModuleRef: ng.NgModuleRef, injectableReactContext?: InjectableReactContext, inTreeCreateRoot?: typeof createRoot): ng.TemplateRef | undefined; export declare function createReactWrapperTemplateRef(ngModuleRef: ng.NgModuleRef, abortSignal?: AbortSignal, injectableReactContext?: InjectableReactContext, inTreeCreateRoot?: typeof createRoot): Promise<{ templateRef: ng.TemplateRef; cleanup: () => void; updateComponent: (component: (props: C) => any) => void; }>;