import { ExecutionContext, IEntity, IInheritedSchema } from '@essential-projects/core_contracts';
import { EntityDependencyHelper, IEntityType, IPropertyBag } from '@essential-projects/data_model_contracts';
import { INodeInstanceEntity, IParallelGatewayEntity } from '@process-engine/process_engine_contracts';
import { NodeInstanceEntity, NodeInstanceEntityDependencyHelper } from './node_instance';
export declare class ParallelGatewayEntity extends NodeInstanceEntity implements IParallelGatewayEntity {
    constructor(nodeInstanceEntityDependencyHelper: NodeInstanceEntityDependencyHelper, entityDependencyHelper: EntityDependencyHelper, context: ExecutionContext, schema: IInheritedSchema, propertyBag: IPropertyBag, entityType: IEntityType<IEntity>);
    initialize(): Promise<void>;
    parallelType: string;
    execute(context: ExecutionContext): Promise<void>;
    proceed(context: ExecutionContext, newData: any, source: INodeInstanceEntity, applicationId: string, participant: string): Promise<void>;
    private _getKeysOfPreviousNodeDefinitions();
    private _mergeTokenHistory(tokenWithHistoryToMerge);
    private _checkAllPathsArrived();
    private _persistTokenIfNecessary();
}
