import { type FileInfo, type AIAnalysisRequest } from '../types/index.js';
export interface ContextWindow {
    maxTokens: number;
    currentTokens: number;
    files: FileInfo[];
}
export declare class ContextManager {
    private readonly maxTokensPerRequest;
    private readonly estimatedTokensPerChar;
    constructor(maxTokensPerRequest?: number);
    createAnalysisRequests(files: FileInfo[], analysisTypes: string[]): AIAnalysisRequest[];
    createBatchedRequests(files: FileInfo[], analysisTypes: string[]): AIAnalysisRequest[][];
    private splitLargeFile;
    private generateFileContext;
    private detectLanguage;
    private estimateTokenCount;
    optimizePromptLength(prompt: string, maxLength: number): string;
    getTokenBudget(): {
        max: number;
        estimated: number;
    };
}
//# sourceMappingURL=context-manager.d.ts.map