import { 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 { BoundaryEventHandler, BoundaryEventTriggerCallback } from './BoundaryEventHandler';
export declare class SignalBoundaryEventHandler extends BoundaryEventHandler<Model.Events.SignalBoundaryEvent> {
    protected boundaryEventModel: Model.Events.SignalBoundaryEvent;
    private signalEventService;
    private onSignalSubscriptionId;
    private acknowledgeEventReceivedId;
    private triggerValue?;
    constructor(eventMiddlewareHandler: EventMiddlewareHandler, flowNodeInstanceDatabaseAdapter: FlowNodeInstanceDatabaseAdapter, flowNodeHandlerFactory: FlowNodeHandlerFactory, boundaryEventModel: Model.Events.SignalBoundaryEvent, processInstance: ProcessInstance, processTokenOfAttachedFlowNode: Record<string, any>, signalEventService: SignalEventService);
    execute(onTriggeredCallback: BoundaryEventTriggerCallback, attachedFlowNodeInstanceId: string, decoratedFlowNodeRejectFunc: Function): Promise<void>;
    resume(boundaryEventInstance: EventInstance, onTriggeredCallback: BoundaryEventTriggerCallback, attachedFlowNodeInstanceId: string, decoratedFlowNodeRejectFunc: Function, flowNodeInstances?: Array<EventInstance>): Promise<void>;
    finish(): Promise<void>;
    cancel(): Promise<void>;
    private validateSignal;
    private waitForSignal;
    private parseTriggerValue;
}
