import { ExecutionContext, IEntityReference, IPublicGetOptions } from '@essential-projects/core_contracts';
import { IDatastoreService } from '@essential-projects/data_model_contracts';
import { IInvoker } from '@essential-projects/invocation_contracts';
import { IImportFromFileOptions, IImportFromXmlOptions, IParamImportFromFile, IParamImportFromXml, IParamStart, IProcessDefEntity, IProcessDefEntityTypeService, IProcessRepository } from '@process-engine/process_engine_contracts';
import { BpmnDiagram } from '../bpmn_diagram';
export declare class ProcessDefEntityTypeService implements IProcessDefEntityTypeService {
    private _datastoreService;
    private _processRepository;
    private _invoker;
    constructor(datastoreService: IDatastoreService, processRepository: IProcessRepository, invoker: IInvoker);
    private readonly datastoreService;
    private readonly invoker;
    private readonly processRepository;
    importBpmnFromFile(context: ExecutionContext, params: IParamImportFromFile, options?: IImportFromFileOptions): Promise<any>;
    importBpmnFromXml(context: ExecutionContext, params: IParamImportFromXml, options?: IImportFromXmlOptions): Promise<void>;
    parseBpmnXml(xml: string): Promise<BpmnDiagram>;
    start(context: ExecutionContext, params: IParamStart, options?: IPublicGetOptions): Promise<IEntityReference>;
    private _findLatest(context, processId, key, version);
    private _findByKeyOnly(context, processId, key);
    getProcessDefinitionByKey(context: ExecutionContext, processDefinitionKey: string, version?: string, versionlessFallback?: boolean): Promise<IProcessDefEntity>;
    getProcessDefinitionById(context: ExecutionContext, processDefinitionId: string, version?: string, versionlessFallback?: boolean): Promise<IProcessDefEntity>;
    private getQueryForVersion(inputQuery, version?);
}
