import { XForm } from "trans-render/types"; import { PropInfo, Actions } from 'trans-render/froop/types'; import {Scope} from 'trans-render/lib/types'; import { Compacts, WCConfig } from "../trans-render/froop/types"; export interface PropInferenceCriteria{ cssSelector: string, attrForProp: string, } export interface EndUserProps extends WCConfig{ aka?: string, inferProps?: boolean, xform?: XForm, lcXform?: XForm, shadowRootMode?: ShadowRootMode, propDefaults?: Partial, propInfo: Partial<{[key in keyof TProps]: PropInfo}>, compacts?: Compacts, targetScope?: Scope, assumeCSR?: boolean, propInferenceCriteria?: Array, inherits?: string | {new(): HTMLElement} | (() => Promise<{new(): HTMLElement}>), actions?: Actions, /** * form associated */ fa?: boolean, mainTemplate?: string | HTMLTemplateElement } export interface AP extends EndUserProps{ mainTemplate?: HTMLTemplateElement, styles?: string, } export type ProAP = Promise export interface Actions { getTemplate(self: this): ProAP, define(self: this): ProAP, }