/**
 * 세션 시작 시 사용할 AI 서비스를 선택하고 변경 이력을 남기는 파일이다.
 * 초기 서비스 결정과 `/change-service` 플로우가 같은 규칙을 쓰도록 선택 UX를 공통화한다.
 */
import { type AIServiceType, type ParsedCliArgs, type StoragePaths, type TraceLogger } from '../types/index';
/**
 * @description
 * 세션 시작 시 사용할 AI 서비스를 결정한다.
 * CLI 인자 우선, 저장된 설정 차선, 둘 다 없으면 대화형 선택 순서로 처리해 엔트리 공통 부트스트랩 규칙을 단일 위치에서 유지한다.
 * @param paths 현재 작업 디렉터리 기준 저장소 경로 집합
 * @param parsedArgs CLI 인자 파싱 결과
 * @param trace 실행 흐름 추적 로거
 * @returns 이번 세션에서 사용할 서비스 식별자
 */
export declare function resolveInitialService(paths: StoragePaths, parsedArgs: ParsedCliArgs, trace: TraceLogger): Promise<AIServiceType>;
/**
 * @description
 * 현재 세션 도중 AI 서비스를 변경하고, 변경 이력과 다음 기본값을 함께 갱신한다.
 * 서비스 유지 선택도 동일한 경로로 기록해 이후 세션 분석 시 사용자의 의도를 추적할 수 있게 한다.
 * @param currentService 현재 세션에 적용 중인 서비스
 * @param paths 현재 작업 디렉터리 기준 저장소 경로 집합
 * @param parsedArgs CLI 인자 파싱 결과
 * @param trace 실행 흐름 추적 로거
 * @returns 다음 서비스와 세션 기록
 */
export declare function changeService(currentService: AIServiceType, paths: StoragePaths, parsedArgs: ParsedCliArgs, trace: TraceLogger): Promise<{
    nextService: AIServiceType;
    record: {
        historyPath: string;
        scope: "service-change";
        service: AIServiceType;
        skipped: boolean;
        summary: string;
        title: string;
        traceMessages: never[];
    };
}>;
//# sourceMappingURL=service-selection.d.ts.map