import { Transaction } from 'sequelize';
import { Correlation, CorrelationList, CorrelationSortSettings } from '@5minds/processcube_engine_sdk';
import { DatabaseAdapter } from './BaseDatabaseAdapter';
export declare class CorrelationDatabaseAdapter extends DatabaseAdapter {
    static deleteMetadataValueByFlowNodeInstanceIds(flowNodeInstanceIds: Array<string>, transaction: Transaction): Promise<void>;
    initialize(): Promise<void>;
    checkIfCorrelationExists(correlationId: string): Promise<boolean>;
    getAll(includeProcessInstances?: boolean, offset?: number, limit?: number, sort?: CorrelationSortSettings, includeCount?: boolean): Promise<CorrelationList>;
    getById(correlationId: string, includeProcessInstances?: boolean): Promise<Correlation>;
    setMetadataValue(correlationId: string, metaDataKey: string, metaDataValue: string, flowNodeInstanceId: string): Promise<void>;
    private getAllCorrelationsWithCount;
    private getAllCorrelationsWithoutCount;
    private execSetMetadataValue;
    private getIncludesForSelectQuery;
    private convertCorrelationToRuntimeObject;
    private convertProcessInstanceToRuntimeObject;
    private tryParse;
}
