import { IBpmn, IBpmnDeployResponse, ICamundaBpmCreateInstanceResponse, ICamundaConfig, ICamundaRepository, IHttpResponse, IIncident, IProcessDefinition, IProcessXmlDefinition } from '@villedemontreal/workit-types';
import 'reflect-metadata';
export declare class CamundaRepository implements ICamundaRepository {
    private static _getworkflowInstanceUrl;
    private static _setStaticHeaders;
    private readonly _request;
    private readonly _headers;
    private readonly _configs;
    constructor(configs: ICamundaConfig);
    deployWorkflow(deployName: string, absPath: string): Promise<IHttpResponse<IBpmnDeployResponse>>;
    getWorkflows(options?: {
        params: {};
    }): Promise<IHttpResponse<IBpmn[]>>;
    getWorkflowCount(options?: {
        params: {};
    }): Promise<IHttpResponse<{
        count: number;
    }>>;
    createWorkflowInstance<T = any>(idOrKey: string, variables: T): Promise<IHttpResponse<ICamundaBpmCreateInstanceResponse>>;
    /**
     * Message can be correlated to a message start event or an intermediate message catching event.
     */
    publishMessage<T = any, K = any>({ messageName, processInstanceId, variables, correlationKeys, }: {
        messageName: string;
        processInstanceId: string;
        variables: T;
        correlationKeys: K;
    }): Promise<void>;
    cancelWorkflowInstance(id: string): Promise<void>;
    getIncident(incidentKey: string): Promise<IIncident>;
    resolveIncident(incidentKey: string): Promise<void>;
    getWorkflow(idOrKey: string): Promise<IProcessDefinition & IProcessXmlDefinition>;
    updateJobRetries(id: string, retries: number): Promise<IHttpResponse<void>>;
    updateVariables<T = any>(processInstanceId: string, variables: T, local?: boolean): Promise<IHttpResponse<void>>;
}
