import { OnModuleDestroy, OnModuleInit } from '@nestjs/common';
import { IntegrationSettingsService } from './integration-settings.service';
import { OutboxPollingCoordinator } from './outbox-polling.coordinator';
import { OutboxNotifier } from './outbox.notifier';
import { OutboxProcessor } from './outbox.processor';
/**
 * Hybrid background job for outbox processing
 * Combines startup recovery, immediate notification reactions, and periodic polling
 */
export declare class OutboxProcessorJob implements OnModuleInit, OnModuleDestroy {
    private readonly processor;
    private readonly notifier;
    private readonly coordinator;
    private readonly integrationSettingsService;
    private readonly logger;
    constructor(processor: OutboxProcessor, notifier: OutboxNotifier, coordinator: OutboxPollingCoordinator, integrationSettingsService: IntegrationSettingsService);
    /**
     * Called when module initializes
     * 1. Drain pending events from startup
     * 2. Start hybrid processing loop
     */
    onModuleInit(): Promise<void>;
    /**
     * Called when module is destroyed
     * Gracefully stop the processing loop
     */
    onModuleDestroy(): Promise<void>;
    /**
     * Get current processing statistics
     * Useful for health checks and monitoring
     */
    getStats(): Promise<{
        pollingLoopRunning: boolean;
        pending: number;
        processing: number;
        processed: number;
        failed: number;
        dead_letter: number;
        total: number;
        handlerCount: number;
    }>;
}
//# sourceMappingURL=outbox.processor.job.d.ts.map