import { ElementEnhancementGateway, SpawnContext, IAssignGingerlyOptions } from "../assign-gingerly/types"; export interface MergeParameters { assign: Record; on?: string; options?: IAssignGingerlyOptions; targetElementId?: string; } export interface EndUserProps { mergeParamSets: MergeParameters | MergeParameters[]; } export interface AllProps extends EndUserProps { enhancedElement: Element & ElementEnhancementGateway; resolved: boolean; } export type AP = AllProps; export type PAP = Partial; export type ProPAP = Promise; export interface Actions { init(self: AP, enhancedElement: Element, ctx: SpawnContext, initVals: PAP): Promise; hydrate(self: AP): ProPAP; }