import type { ReviewerAssignment, ReviewDefinition, ReviewProfile, ReviewStageId } from "./contracts.js"; import { type ReviewRoleExecutor } from "../workflows/contracts.js"; export interface ReviewProfileConfig { id: ReviewProfile; maxExpertRoles: number; maxChallengesPerFinding: number; maxFindingsPerReviewer: number; maxDevilFindings: number; maxExecutions: number; maxInputTokens: number; maxOutputTokens: number; maxUsd: number; toolCallLimits: Record; turnLimits: Record; stageReserve: { "cross-review": { inputTokens: number; outputTokens: number; usd: number; }; devil: { inputTokens: number; outputTokens: number; usd: number; }; integrate: { inputTokens: number; outputTokens: number; usd: number; }; }; } export declare const REVIEW_PROFILES: Record; export declare function applyReviewProfile(definition: ReviewDefinition, profile: ReviewProfile): ReviewDefinition; export type ReviewStageExecutionLimits = Partial>; export declare class ReviewBudgetExceededError extends Error { readonly category = "budget"; } export declare function reviewStageExecutionLimits(profile: ReviewProfileConfig, assignments: ReviewerAssignment[]): ReviewStageExecutionLimits; export declare function withReviewProfileBudget(executor: ReviewRoleExecutor, profile: ReviewProfileConfig, stageLimits?: ReviewStageExecutionLimits): ReviewRoleExecutor;