import { EventInstance, Model } from '@5minds/processcube_engine_sdk';
import { FlowNodeInstanceDatabaseAdapter } from '../../../Tools/DatabaseAdaptersSequelize/FlowNodeInstanceAdapter';
import { EventMiddlewareHandler } from '../../../Tools/EventMiddlewareHandler';
import { MessageEventService } from '../../MessageEventService';
import { ProcessInstance } from '../../ProcessInstance';
import { ActivityHandler } from './ActivityHandler';
import { ActivityInstanceHandler } from './ActivityInstanceHandler';
export declare class ReceiveTaskInstanceHandler extends ActivityInstanceHandler<Model.Activities.ReceiveTask> {
    private readonly messageEventService;
    private onMessageSubscriptionId;
    private acknowledgeEventReceivedId;
    private triggerValue?;
    protected loggerNamespace: string;
    constructor(eventMiddlewareHandler: EventMiddlewareHandler, flowNodeInstanceDatabaseAdapter: FlowNodeInstanceDatabaseAdapter, messageEventService: MessageEventService, activityHandler: ActivityHandler<Model.Activities.ReceiveTask>, processInstance: ProcessInstance, previousFlowNodeInstanceId?: string, instanceContext?: {
        [key: string]: any;
    });
    private get receiveTask();
    protected persistOnSuspend(): Promise<void>;
    protected persistOnExit(dataObjectValues: Record<string, any>): Promise<void>;
    protected afterExecute(): Promise<void>;
    protected runHandler(executionCanceledCallback?: Function): Promise<void>;
    protected resumeAfterSuspend(flowNodeInstance: EventInstance, resumptionCanceledCallback?: Function): Promise<void>;
    private suspendAndWaitForMessage;
    private waitForMessage;
    private passTriggerThroughEventBasedGatwwayIfNecessary;
    private parseTriggerValue;
}
