import { GatewayHandler } from "./gateway_handler";
import { INodeDefEntity, IProcessTokenEntity } from "@process-engine/process_engine_contracts";
import { ExecutionContext } from "@essential-projects/core_contracts";
import { NextFlowNodeInfo } from "../next_flow_node_info";
import { IFlowNodeHandlerFactory } from "./iflow_node_handler_factory";
import { IDatastoreService } from "@essential-projects/data_model_contracts";
export declare class ParallelGatewayHandler extends GatewayHandler {
    private flowNodeHandlerFactory;
    private datastoreService;
    constructor(flowNodeHandlerFactory: IFlowNodeHandlerFactory, datastoreService: IDatastoreService);
    protected executeIntern(flowNode: INodeDefEntity, processToken: IProcessTokenEntity, context: ExecutionContext): Promise<NextFlowNodeInfo>;
    private findJoinGateway(flowNode, processDefinition, context);
    private executeBranchToJoinGateway(flowNode, processToken, context, joinGateway);
    private createProcessToken(context);
    private mergeTokenHistory(processToken, tokenWithHistoryToMerge);
}
