/**
 * AI CLI 설치 여부와 실행 파일 경로를 다루는 내부 헬퍼 파일이다.
 * 서비스 헬스체크와 실제 실행 로직이 같은 CLI 탐색 규칙을 쓰도록 한다.
 */
import { type AIServiceType, type ParsedCliArgs, type TraceLogger } from '../../types/index';
/**
 * @description 서비스에 대응하는 CLI 바이너리 이름을 반환한다.
 * @param service 대상 서비스
 * @returns 바이너리 이름 (예: 'claude')
 */
export declare function getBinaryName(service: AIServiceType): string;
/**
 * @description 서비스에 대응하는 npm 패키지 이름을 반환한다.
 * @param service 대상 서비스
 * @returns 패키지 이름 (예: '@anthropic-ai/claude-code')
 */
export declare function getInstallPackageName(service: AIServiceType): string;
/**
 * @description 서비스 CLI 바이너리가 시스템에 설치되어 있는지 확인한다.
 * @param service 대상 서비스
 * @param trace 실행 흐름 추적 로거
 * @returns 설치 여부
 */
export declare function isCliAvailable(service: AIServiceType, trace: TraceLogger): boolean;
/**
 * @description 서비스 CLI를 글로벌로 설치한다. 설치 실패 시 에러를 throw한다.
 * @param service 대상 서비스
 * @param trace 실행 흐름 추적 로거
 */
export declare function installCli(service: AIServiceType, trace: TraceLogger): void;
/**
 * @description 서비스 CLI의 현재 설치된 버전을 조회한다.
 * @param service 대상 서비스
 * @param trace 실행 흐름 추적 로거
 * @returns semver 문자열 (예: '1.2.3') 또는 조회 실패 시 null
 */
export declare function getInstalledVersion(service: AIServiceType, trace: TraceLogger): string | null;
/**
 * @description npm 레지스트리에서 서비스 패키지의 최신 버전을 조회한다.
 * @param service 대상 서비스
 * @param trace 실행 흐름 추적 로거
 * @returns semver 문자열 또는 조회 실패 시 null
 */
export declare function getLatestVersion(service: AIServiceType, trace: TraceLogger): string | null;
/**
 * @description 서비스 CLI를 최신 버전 또는 지정 버전으로 업그레이드한다.
 * @param service 대상 서비스
 * @param trace 실행 흐름 추적 로거
 * @param minimumVersion 설치할 정확한 최소 요구 버전. 없으면 latest를 사용한다.
 * @returns 업그레이드 성공 여부
 */
export declare function upgradeServiceCli(service: AIServiceType, trace: TraceLogger, minimumVersion?: string): boolean;
/**
 * @description 세션 루프 진입 전 서비스 CLI가 사용 가능한 상태인지 확인하고, 미설치 시 자동 설치를 시도한다.
 * @param service 대상 서비스
 * @param parsedArgs CLI 인자
 * @param trace 실행 흐름 추적 로거
 * @returns CLI 사용 가능 여부
 */
export declare function ensureServiceCli(service: AIServiceType, parsedArgs: ParsedCliArgs, trace: TraceLogger): boolean;
//# sourceMappingURL=cli-management.d.ts.map