import { OnModuleInit, OnModuleDestroy } from '@nestjs/common';
import { SqsClientService } from './sqs-client.service';
import { ProcessorRegistryService } from './processor-registry.service';
import { QueueType } from '../constants/queue.constants';
import { AppLoggerService } from 'src/common/services/logger.service';
interface QueueConfig {
    queueType: QueueType;
    queueUrl: string;
    enabled: boolean;
}
export declare class SqsPollerService implements OnModuleInit, OnModuleDestroy {
    private readonly sqsClient;
    private readonly processorRegistry;
    private readonly logger;
    private readonly queueConfigs;
    private readonly isPollingQueue;
    private pollingStats;
    constructor(sqsClient: SqsClientService, processorRegistry: ProcessorRegistryService, logger: AppLoggerService);
    private initializeQueueConfigs;
    onModuleInit(): Promise<void>;
    private getExpectedSubTypesForQueue;
    onModuleDestroy(): void;
    logPollingStats(): void;
    pollQueues(): Promise<void>;
    private pollSingleQueue;
    private processMessage;
    getPollingStats(): Record<string, any>;
    triggerPoll(queueType: QueueType): Promise<void>;
    getConfiguredQueues(): QueueConfig[];
}
export {};
