/**
 * Intelligent Model Router
 * 작업 복잡도를 자동 분석하여 최적의 모델을 선택
 */
export type ModelTier = 'haiku' | 'sonnet' | 'opus';
export interface ComplexitySignals {
    fileCount: number;
    lineCount: number;
    hasArchitectureChange: boolean;
    hasSecurityImplication: boolean;
    hasMultipleServices: boolean;
    isRefactoring: boolean;
    isNewFeature: boolean;
    isBugFix: boolean;
    isDocumentation: boolean;
    keywords: string[];
}
export interface RoutingResult {
    model: ModelTier;
    score: number;
    reason: string;
    signals: Partial<ComplexitySignals>;
}
/**
 * 텍스트에서 복잡도 신호 추출
 */
export declare function extractComplexitySignals(text: string): ComplexitySignals;
/**
 * 복잡도 점수 계산
 */
export declare function calculateComplexityScore(signals: ComplexitySignals): number;
/**
 * 최적 모델 선택
 */
export declare function selectModel(score: number): ModelTier;
/**
 * 메인 라우팅 함수
 */
export declare function routeToModel(taskDescription: string): RoutingResult;
/**
 * SPEC 파일 기반 라우팅
 */
export declare function routeFromSpec(specContent: string): RoutingResult;
/**
 * 에이전트 티어 선택 (agent-low, agent-medium, agent 패턴)
 */
export declare function selectAgentTier(baseAgentName: string, taskDescription: string): string;
//# sourceMappingURL=ModelRouter.d.ts.map