import type { ReviewJob } from '../../../frameworks/queue/pQueueAdapter.js';
import type { PendingReviewRequest, TriggerSource } from '../../../modules/review-execution/entities/pendingReviewRequest/pendingReviewRequest.schema.js';
import type { GateClaudeInvocationProcessor } from '../../../modules/review-execution/usecases/gateClaudeInvocation.usecase.js';
export type ProcessorBuilder = (job: ReviewJob) => GateClaudeInvocationProcessor;
export interface ProcessorKey {
    triggerSource: TriggerSource;
    platform: 'gitlab' | 'github';
    jobType: 'review' | 'followup';
}
export declare class ProcessorRegistry {
    private readonly builders;
    register(key: ProcessorKey, builder: ProcessorBuilder): void;
    resolve(pending: PendingReviewRequest): GateClaudeInvocationProcessor;
}
//# sourceMappingURL=processorRegistry.d.ts.map