import { ActionDisplayDefinition, ActionPerformFunction, ActionPerformReturn, ConfigVarResultCollection, Inputs } from "."; import { ComponentManifestAction } from "./ComponentManifest"; /** * ActionDefinition is the type of the object that is passed in to `action` function to * define a component action. See * https://prismatic.io/docs/custom-connectors/actions/ */ export interface ActionDefinition = ActionPerformReturn> { /** Defines how the action is displayed in the Prismatic UI. */ display: ActionDisplayDefinition; /** The function to perform when this action is invoked. */ perform: ActionPerformFunction>, TAllowsBranching, TReturn>; /** * The inputs to present a low-code integration builder. Values of these inputs * are passed to the `perform` function when the action is invoked. */ inputs: TInputs; /** Attribute that specifies whether an action will terminate execution.*/ terminateExecution?: boolean; /** Specifies whether an action will break out of a loop. */ breakLoop?: boolean; /** * Determines whether an action will allow branching. See * https://prismatic.io/docs/custom-connectors/branching/ */ allowsBranching?: TAllowsBranching; /** * Static branches associated with an action. * Use if your action supports branching. See * https://prismatic.io/docs/custom-connectors/branching/ */ staticBranchNames?: string[]; /** The input field associated with dynamic branching. */ dynamicBranchInput?: string; /** An example of the payload output by this action. */ examplePayload?: Awaited>; }