/**
 * Request Builders for AI Validation
 *
 * Functions for building validation requests with full or scoped file context.
 */
import type { Vulnerability, ScanFile } from '../shared/types';
import type { ProjectContext } from '../model/project-context';
import type { FileTaintAnalysis } from '../model/taint-types';
import type { CrossFileTaintPath } from '../model/cross-file-taint';
import type { FileFrameworkAnalysis } from '../model/framework-models/types';
import type { RouteMap } from '../model/route-discovery';
import type { ExtractionConfig } from './utils/context-extractor';
export interface RequestBuilderOptions {
    /** Context mode: 'full' sends entire file, 'scoped' extracts relevant regions (default: 'scoped') */
    contextMode?: 'full' | 'scoped';
    /** Override extraction config for scoped mode */
    extractionConfig?: Partial<ExtractionConfig>;
}
/**
 * Build a high-context validation request with full or scoped file content
 */
export declare function buildHighContextValidationRequest(file: ScanFile, findings: Vulnerability[], projectContext: ProjectContext, options?: RequestBuilderOptions, fileTaintAnalyses?: Map<string, FileTaintAnalysis>, routeMap?: RouteMap, crossFileTaintPaths?: CrossFileTaintPath[], frameworkAnalyses?: Map<string, FileFrameworkAnalysis>): string;
/**
 * Build a multi-file validation request (Phase 2 optimization)
 * Batches multiple files into a single API call to reduce overhead
 */
export declare function buildMultiFileValidationRequest(fileDataList: Array<{
    file: ScanFile;
    findings: Vulnerability[];
}>, projectContext: ProjectContext, options?: RequestBuilderOptions, fileTaintAnalyses?: Map<string, FileTaintAnalysis>, routeMap?: RouteMap, crossFileTaintPaths?: CrossFileTaintPath[], frameworkAnalyses?: Map<string, FileFrameworkAnalysis>): string;
/**
 * Build a file-level taint summary for the AI prompt.
 * Returns empty string if no taint analysis exists for the file.
 */
export declare function buildFileTaintSummary(filePath: string, fileTaintAnalyses: Map<string, FileTaintAnalysis>): string;
/**
 * Build a per-finding taint annotation for the AI prompt.
 * Returns a string to append after the "Flagged Code" line.
 */
export declare function buildFindingTaintAnnotation(finding: Vulnerability, filePath: string, fileTaintAnalyses: Map<string, FileTaintAnalysis>): string;
/**
 * Build a per-finding route annotation for the AI prompt.
 * Returns a string to append after taint annotations.
 */
export declare function buildFindingRouteAnnotation(finding: Vulnerability, filePath: string, routeMap: RouteMap): string;
/**
 * Build a file-level route summary for the AI prompt.
 * Returns empty string if no routes exist for the file.
 */
export declare function buildFileRouteSummary(filePath: string, routeMap: RouteMap): string;
/**
 * Build a per-finding cross-file taint annotation for the AI prompt.
 * Appended after intra-file taint annotations when cross-file paths exist.
 */
export declare function buildCrossFileTaintAnnotation(finding: Vulnerability, filePath: string, crossFileTaintPaths: CrossFileTaintPath[]): string;
/**
 * Build a per-finding framework annotation for the AI prompt.
 * Returns a string to append after route annotations.
 */
export declare function buildFindingFrameworkAnnotation(finding: Vulnerability, filePath: string, frameworkAnalyses: Map<string, FileFrameworkAnalysis>): string;
//# sourceMappingURL=request-builder.d.ts.map