/**
 * ParsedFile - Shared file representation for all detectors
 *
 * Provides lazy-cached line splitting and common context-extraction
 * operations, eliminating duplicated content.split('\n') calls across 26+ detectors.
 */
export declare class ParsedFile {
    readonly content: string;
    readonly filePath: string;
    private _lines;
    constructor(content: string, filePath: string);
    /** Lazy-cached array of lines from content.split('\n') */
    get lines(): string[];
    /** Number of lines in the file */
    get lineCount(): number;
    /** Get a single line by 0-based index. Returns '' for out-of-bounds. */
    line(index: number): string;
    /**
     * Get surrounding lines around a center index, clamped to file bounds.
     * @param lineIndex 0-based center line
     * @param windowSize number of lines before and after center
     */
    getSurroundingLines(lineIndex: number, windowSize: number): {
        lines: string[];
        startIndex: number;
        endIndex: number;
        text: string;
    };
    /**
     * Get a range of lines as a joined string.
     * @param start 0-based start (inclusive), clamped to bounds
     * @param end 0-based end (inclusive), clamped to bounds
     */
    getLineRange(start: number, end: number): string;
    /** Construct from a ScanFile-like object with content and path */
    static from(file: {
        content: string;
        path: string;
    }): ParsedFile;
}
/**
 * Numeric rank for severity comparisons.
 * Only relative ordering matters — used for keeping the higher-severity finding
 * during deduplication and merge operations.
 */
export declare function severityRank(severity: string): number;
/**
 * Numeric rank for confidence comparisons.
 */
export declare function confidenceRank(confidence: string): number;
//# sourceMappingURL=parsed-file.d.ts.map