import {BEAllProps, IEnhancement} from '../trans-render/be/types'; import {AbsorbingObject} from '../trans-render/asmr/types'; export interface RenderingHTMLScriptElement extends HTMLScriptElement{ renderer: (vm: any, html: any) => any, } export interface EndUserProps extends IEnhancement{ vm: any, with: Array, } export type Renderer = (vm: any, html: any) => any; export interface AP extends EndUserProps{ renderer: Renderer, absorbingObject: AbsorbingObject } export type PAP = Partial; export type BAP = AP & BEAllProps; export type ProPAP = Promise; export interface Actions { getRenderer(self: BAP): BAP; doRender(self: BAP): void; observe(self: BAP): ProPAP; absorb(self: BAP, e?: Event): ProPAP; }