import { ExecutionContext, IEntity, IInheritedSchema } from '@essential-projects/core_contracts';
import { Entity, EntityDependencyHelper, IEntityType, IPropertyBag, IEntityCollection } from '@essential-projects/data_model_contracts';
import { IFeature } from '@essential-projects/feature_contracts';
import { ILaneEntity, IProcessDefEntity, INodeDefEntity } from '@process-engine/process_engine_contracts';
export declare class LaneEntity extends Entity implements ILaneEntity {
    constructor(entityDependencyHelper: EntityDependencyHelper, context: ExecutionContext, schema: IInheritedSchema, propertyBag: IPropertyBag, entityType: IEntityType<IEntity>);
    initialize(): Promise<void>;
    name: string;
    key: string;
    extensions: any;
    processDef: any;
    getProcessDef(context: ExecutionContext): Promise<IProcessDefEntity>;
    counter: number;
    readonly nodeDefCollection: IEntityCollection<INodeDefEntity>;
    getNodeDefCollection(context: ExecutionContext): Promise<IEntityCollection<INodeDefEntity>>;
    readonly features: Array<IFeature>;
    private _extractFeatures();
    readonly role: string;
}
