import { BaseError, FlowNodeInstance, Model } from '@5minds/processcube_engine_sdk';
import { ActivityInstanceHandler } from './ActivityInstanceHandler';
/**
 * Basically a copy of the External Service Task Handler.
 * DMN functionality currently only exists in form of an extension, which uses the External Task Pattern to run DMNs through the Engine provided by that engine.
 */
export declare class BusinessRuleTaskInstanceHandler extends ActivityInstanceHandler<Model.Activities.BusinessRuleTask> {
    protected loggerNamespace: string;
    private externalTaskDatabaseAdapter;
    private externalTaskId;
    private externalTaskFinishedSubscription;
    private externalTaskExpiredSubscription;
    private externalTaskFinishedEventId;
    private get businessRuleTask();
    protected persistOnExit(dataObjectValues: Record<string, any>): Promise<void>;
    protected persistOnError(error: BaseError): Promise<void>;
    protected persistOnTerminate(): Promise<void>;
    protected afterExecute(): Promise<void>;
    protected resumeAfterSuspend(flowNodeInstance: FlowNodeInstance): Promise<void>;
    protected runHandler(): Promise<void>;
    private configureExternalTask;
    private parseExternalTaskTopic;
    private parseExternalTaskPayload;
    private getTypeDataForStateChange;
    private executeExternalServiceTask;
    private waitForExternalTaskResult;
    private executeExpression;
    private publishExternalTaskCreatedNotification;
    private getDataForErrors;
}
