import { BaseError, EventInstance, Model } from '@5minds/processcube_engine_sdk';
import { FlowNodeInstanceDatabaseAdapter } from '../../../Tools/DatabaseAdaptersSequelize/index';
import { EventMiddlewareHandler } from '../../../Tools/EventMiddlewareHandler';
import { ProcessInstance } from '../../ProcessInstance';
import { SignalEventService } from '../../SignalEventService';
import { FlowNodeHandlerFactory } from '../FlowNodeHandlerFactory';
import { EventHandler } from './EventHandler';
export declare class IntermediateSignalCatchEventHandler extends EventHandler<Model.Events.SignalIntermediateCatchEvent> {
    private signalEventService;
    private onSignalSubscriptionId;
    private acknowledgeEventReceivedId;
    private triggerValue?;
    constructor(eventMiddlewareHandler: EventMiddlewareHandler, flowNodeHandlerFactory: FlowNodeHandlerFactory, flowNodeInstanceDatabaseAdapter: FlowNodeInstanceDatabaseAdapter, signalCatchEventModel: Model.Events.SignalIntermediateCatchEvent, processInstance: ProcessInstance, signalEventService: SignalEventService);
    private get signalCatchEvent();
    protected persistOnSuspend(): Promise<void>;
    protected persistOnExit(): Promise<void>;
    protected persistOnError(error: BaseError): Promise<void>;
    protected persistOnTerminate(): Promise<void>;
    protected afterExecute(): Promise<void>;
    protected startExecution(executionCanceledCallback?: Function): Promise<Array<Model.Base.FlowNode>>;
    protected executeHandler(executionCanceledCallback?: Function): Promise<Array<Model.Base.FlowNode>>;
    protected resumeAfterSuspend(flowNodeInstance: EventInstance, resumptionCanceledCallback?: Function): Promise<Array<Model.Base.FlowNode>>;
    private suspendAndWaitForSignal;
    private waitForSignal;
    private validateSignal;
    private parseTriggerValue;
}
