import { ExecutionContext, IEntity, IInheritedSchema } from '@essential-projects/core_contracts';
import { Entity, EntityDependencyHelper, IEntityCollection, IEntityType, IPropertyBag } from '@essential-projects/data_model_contracts';
import { IFeature } from '@essential-projects/feature_contracts';
import { BpmnType, IBoundaryEventEntity, ILaneEntity, INodeDefEntity, IProcessDefEntity, TimerDefinitionType } from '@process-engine/process_engine_contracts';
export declare class NodeDefEntity extends Entity implements INodeDefEntity {
    constructor(entityDependencyHelper: EntityDependencyHelper, context: ExecutionContext, schema: IInheritedSchema, propertyBag: IPropertyBag, entityType: IEntityType<IEntity>);
    initialize(): Promise<void>;
    name: string;
    key: string;
    processDef: IProcessDefEntity;
    getProcessDef(context: ExecutionContext): Promise<IProcessDefEntity>;
    lane: ILaneEntity;
    getLane(context: ExecutionContext): Promise<ILaneEntity>;
    type: BpmnType;
    extensions: any;
    attachedToNode: INodeDefEntity;
    getAttachedToNode(context: ExecutionContext): Promise<INodeDefEntity>;
    events: any;
    script: string;
    eventType: string;
    cancelActivity: boolean;
    subProcessKey: string;
    subProcessDef: INodeDefEntity;
    getSubProcessDef(context: ExecutionContext): Promise<INodeDefEntity>;
    counter: number;
    timerDefinitionType: TimerDefinitionType;
    timerDefinition: string;
    startContext: string;
    startContextEntityType: string;
    signal: string;
    message: string;
    condition: string;
    errorName: string;
    errorCode: string;
    readonly features: Array<IFeature>;
    getLaneRole(context: ExecutionContext): Promise<string>;
    getBoundaryEvents(context: ExecutionContext): Promise<IEntityCollection<IBoundaryEventEntity>>;
    private _extractFeatures();
    readonly mapper: any;
    private _extractMapper();
    readonly persist: boolean;
}
