import { ExecutionContext, IEntity, IIamService, IPublicGetOptions } from '@essential-projects/core_contracts';
import { IDatastoreService, IEntityType } from '@essential-projects/data_model_contracts';
import { IEventAggregator } from '@essential-projects/event_aggregator_contracts';
import { IFeatureService } from '@essential-projects/feature_contracts';
import { IMessageBusService } from '@essential-projects/messagebus_contracts';
import { IRoutingService } from '@essential-projects/routing_contracts';
import { BpmnType, INodeInstanceEntity, INodeInstanceEntityTypeService, IParamsContinueFromRemote, IProcessEngineService } from '@process-engine/process_engine_contracts';
export declare class NodeInstanceEntityTypeService implements INodeInstanceEntityTypeService {
    private _datastoreService;
    private _messagebusService;
    private _eventAggregator;
    private _iamService;
    private _featureService;
    private _routingService;
    private _processEngineService;
    constructor(datastoreService: IDatastoreService, messagebusService: IMessageBusService, iamService: IIamService, eventAggregator: IEventAggregator, featureService: IFeatureService, routingService: IRoutingService, processEngineService: IProcessEngineService);
    private readonly datastoreService;
    private readonly messagebusService;
    private readonly eventAggregator;
    private readonly iamService;
    private readonly featureService;
    private readonly routingService;
    private readonly processEngineService;
    private _nodeHandler(event, binding);
    private _nodeHandlerMessagebus(msg, binding);
    createNode(context: ExecutionContext, entityType: IEntityType<IEntity>): Promise<IEntity>;
    subscibeToNodeChannels(node: INodeInstanceEntity): INodeInstanceEntity;
    getEntityTypeFromBpmnType<TEntity extends IEntity = IEntity>(bpmnType: BpmnType): Promise<IEntityType<TEntity>>;
    createNextNode(context: ExecutionContext, source: any, nextDef: any, token: any): Promise<IEntity>;
    continueExecution(context: ExecutionContext, source: IEntity): Promise<void>;
    continueFromRemote(context: ExecutionContext, params: IParamsContinueFromRemote, options?: IPublicGetOptions): Promise<void>;
}
