export interface RenderingHTMLScriptElement extends HTMLScriptElement{
renderer: (vm: any, html: any) => any,
}
export interface EndUserProps{
vm: any,
with: Array,
}
export type Renderer = (vm: any, html: any) => any;
export interface AllProps extends EndUserProps{
enhancedElement: Element;
renderer: Renderer,
absorbingObject: any
}
export type PAP = Partial;
export type AP = AllProps;
export type ProPAP = Promise;
export interface Actions {
getRenderer(self: AP): PAP;
doRender(self: AP): void;
observe(self: AP): ProPAP;
absorb(self: AP, e?: Event): ProPAP;
}