import { PluginProperty } from '../../api/core/plugin/PluginPropertyInterface'; import { BasePlugin, PropertiesWrapper } from '../common'; import { CustomAction, CustomActionPluginResponse, CustomActionRequest } from './CustomActionInterface'; export interface CustomActionBaseInstanceContext { customAction: CustomAction; properties: PropertiesWrapper; } export declare abstract class CustomActionBasePlugin extends BasePlugin { constructor(enableThrottling?: boolean); /** * * @param customActionId */ fetchCustomAction(customActionId: string): Promise; /** * * @param customActionId */ fetchCustomActionProperties(customActionId: string): Promise; protected instanceContextBuilder(customActionId: string): Promise; /** * * @param request * @param instanceContext */ protected abstract onCustomActionCall(request: CustomActionRequest, instanceContext: CustomActionBaseInstanceContext): Promise; protected getInstanceContext(customActionId: string): Promise; private emptyBodyFilter; private initCustomAction; }