import { ActionLimit } from "../../../bv-operate/limits/create"; import { BehaviorInvocation } from "../../../models/behavior"; import { ActionInvocation, BlockvPolicy } from "../../../models/action"; import { Resolver } from "../../../resolve"; /** * Defines the input to convertlet functions. */ export interface Behavior { uri: string; config: any; } export interface Action { name: string; reactor: string; config: any; } interface ActionPatch { link: string; action: string; op: string; path: string; value: any; } export interface ConvertletInput { behavior: Behavior; behaviorUris: string[]; templateName: string; variationName: string; links: { [link: string]: string; }; link: string; /** * The pub domain used for referencing action handlers. */ actionHandlerPubDomain: string; resolver: Resolver; } /** * Defines the output of convertlet functions. */ export interface ConvertletOutput { includeStateInPrivate?: boolean; template?: object; variation?: object; actions?: Action[]; reactors?: any[]; limits?: ActionLimit[]; actionsPatches?: any[]; } export declare type Converlet = (input: ConvertletInput) => Promise | ConvertletOutput; export declare function run(input: ConvertletInput): Promise; export declare const addActionHandler: (link: string, action: string, stage: string, actionHandlerUrn: string) => ActionPatch; export declare const addActionConfig: (link: string, action: string, key: string, value: any) => ActionPatch; export interface PolicyItem { action_handler?: string; reactor: string; } export declare const getActionPolicy: (b: Behavior, actId: string) => { pre: any[]; post: any[]; }; export declare const convertBlockvPolicy: (blockvPolicy: BlockvPolicy, config: any) => { pre: any; post: any; }; export declare const convertAction: (actInv: ActionInvocation, behInv: BehaviorInvocation, templateName: string, resolver: Resolver) => Promise; export declare const convertReactor: (actInv: ActionInvocation, templateName: string, resolver: Resolver) => Promise<{ name: string; public: boolean; state_impact: any[]; configSchema: { input: string[]; output: string[]; }; } | { name: string; type: string; public: boolean; http: { url: string; }; }>; export declare const convert: (input: ConvertletInput) => Promise; export {}; //# sourceMappingURL=index.d.ts.map