import { createConverter } from './lib/converter'; import type { Type, LazyType, NgModuleFlags, NgOptions } from './lib/types'; export * from './lib/injection'; export interface HtmlComponent { component: { mount(element: HTMLElement, props: TProps, ctx: any, locals: any): void; update?(element: HTMLElement, props: TProps, ctx: any, locals: any): void; unmount?(element: HTMLElement, locals: any): void; }; type: 'html'; } export interface NgConverter { (...params: Parameters>): HtmlComponent; } export interface NgComponentLoader { (selector: string): HtmlComponent; } export interface NgModuleDefiner { /** * Defines the module to use when bootstrapping the Angular pilet. * @param ngModule The module to use for running Angular. * @param opts The options to pass when bootstrapping. * @param flags The flags to use when dealing with the module. */ (module: Type, opts?: NgOptions, flags?: NgModuleFlags): void; /** * Defines the module to lazy load for bootstrapping the Angular pilet. * @param getModule The module lazy loader to use for running Angular. * @param opts The options to pass when bootstrapping. * @param flags The flags to use when dealing with the module. * @returns The module ID to be used to reference components. */ (getModule: LazyType, opts?: NgOptions, flags?: NgModuleFlags): NgComponentLoader; } export declare function createNgConverter(...params: Parameters): { from: NgConverter; Extension: any; defineModule: NgModuleDefiner; }; declare const fromNg: NgConverter, NgExtension: any, defineNgModule: NgModuleDefiner; export { fromNg, NgExtension, defineNgModule };