import { QueueType } from '../constants/queue.constants';
import { QueueMessage, QueueProcessingResult } from '../interfaces/queue-message.interface';
import { AppLoggerService } from 'src/common/services/logger.service';
export interface QueueProcessor {
    process(message: QueueMessage): Promise<QueueProcessingResult>;
}
export declare class ProcessorRegistryService {
    private readonly logger;
    private readonly processors;
    constructor(logger: AppLoggerService);
    registerProcessor(subType: QueueType | string, processor: QueueProcessor): void;
    getProcessor(subType: string): QueueProcessor | undefined;
    processMessage(message: QueueMessage): Promise<QueueProcessingResult>;
    hasProcessor(subType: string): boolean;
    getRegisteredQueueTypes(): string[];
    unregisterProcessor(subType: string): boolean;
}
