import { DataModels, DeleteProcessInstanceQuery, IProcessInstanceExtensionAdapter, Identity } from '@5minds/processcube_engine_sdk';
import { ProcessInstanceService } from '../../../Api/Services';
import { IdentityService } from '../../Iam';
export declare class ProcessInstanceExtensionAdapter implements IProcessInstanceExtensionAdapter {
    private readonly identityService;
    private readonly logger;
    private readonly processInstanceService;
    constructor(processInstanceService: ProcessInstanceService, identityService: IdentityService);
    query(query: DataModels.ProcessInstances.ProcessInstanceQuery, options?: {
        identity?: Identity;
        offset?: number;
        limit?: number;
        sortSettings?: DataModels.ProcessInstances.ProcessInstanceSortSettings;
        includeCount?: boolean;
    }, includeXml?: boolean): Promise<DataModels.ProcessInstances.ProcessInstanceList>;
    getProcessDefinition(processInstanceId: string, options?: {
        identity?: Identity;
        includeXml?: boolean;
    }): Promise<DataModels.ProcessDefinitions.ProcessDefinition>;
    getProcessModel(processInstanceId: string, identity?: Identity): Promise<DataModels.ProcessDefinitions.ProcessModel>;
    transferOwnership(processInstanceId: string, newOwner: DataModels.Iam.Identity, identity?: DataModels.Iam.Identity): Promise<void>;
    terminateProcessInstance(processInstanceId: string, identity?: Identity): Promise<void>;
    retryProcessInstance(processInstanceId: string, options?: {
        flowNodeInstanceId?: string;
        newStartToken?: any;
        updateProcessDefinition?: boolean;
        identity?: Identity;
    }): Promise<void>;
    deleteProcessInstances(processInstanceIds: Array<string>, deleteAllRelatedData?: boolean, identity?: Identity): Promise<void>;
    delete(processInstanceQuery: DeleteProcessInstanceQuery, deleteAllRelatedData?: boolean, identity?: Identity): Promise<void>;
}
