import { QueuesModuleOptions } from "../../interfaces";
import { QueueMessage, QueuePublisher } from '../../interfaces/mq';
import { MqMessageQueueService } from '../mq-message-queue.service';
import { MqMessageService } from '../mq-message.service';
export declare abstract class DatabasePublisher<T> implements QueuePublisher<T> {
    protected readonly mqMessageService: MqMessageService;
    protected readonly mqMessageQueueService: MqMessageQueueService;
    private readonly logger;
    private readonly url;
    private readonly serviceRole;
    constructor(mqMessageService: MqMessageService, mqMessageQueueService: MqMessageQueueService);
    abstract options(): QueuesModuleOptions;
    publish(message: QueueMessage<T>): Promise<string>;
    private persistToDatabase;
}
//# sourceMappingURL=database-publisher.service.d.ts.map