import { ModuleRef } from "@nestjs/core";
import { EntityManager } from 'typeorm';
import { CRUDService } from '../services/crud.service';
import { MqMessage } from '../entities/mq-message.entity';
import { MqMessageRepository } from '../repository/mq-message.repository';
export declare class MqMessageService extends CRUDService<MqMessage> {
    readonly entityManager: EntityManager;
    readonly repo: MqMessageRepository;
    readonly moduleRef: ModuleRef;
    private readonly logger;
    constructor(entityManager: EntityManager, repo: MqMessageRepository, moduleRef: ModuleRef);
    lockNextPendingMessage(queueName: string): Promise<MqMessage | null>;
    waitForTerminalStatus(messageId: string, opts?: {
        timeoutMs?: number;
        intervalMs?: number;
        maxIntervalMs?: number;
        throwOnFailure?: boolean;
        parseJson?: boolean;
        logEveryN?: number;
    }): Promise<MqMessage>;
    private safeJsonParse;
}
//# sourceMappingURL=mq-message.service.d.ts.map