import { StatementsResult } from "../nested-regex-groups/types"; import { ElementEnhancementGateway, SpawnContext } from "../assign-gingerly/types"; export interface RemoteSpecifier { id?: string; prop?: string; path?: string; evtName?: string; as?: 'number' | 'boolean' | 'string' | 'object' | 'regexp' | 'urlpattern' | 'boolean|number'; constVal?: any; enhKey?: string; ish?: boolean; host?: boolean; self?: boolean; } export interface ObservingParameters { localPropToSet?: string; remoteSpecifiers: Array; punt: boolean; aggKey: string; interpolatingExpr: string; JSExpr: string; ONExpr: string; action?: | 'set' | 'toggle' | 'increment' | 'decrement' | 'set-class' | 'set-part'; } export interface EndUserProps { parsedStatements: StatementsResult; } export interface AllProps extends EndUserProps { enhancedElement: Element; enhKey: string; customHandlers: Map; ws: Array; didInferring: boolean; } export type AP = AllProps; export type PAP = Partial; export type ProPAP = Promise; export interface Actions { init(self: AP, enhancedElement: Element & ElementEnhancementGateway, ctx: SpawnContext, initVals: PAP): Promise; seek(self: AP): ProPAP; }