/**
 * 세션 전반에서 공통으로 쓰는 앱 런타임 타입을 정의한다.
 * 서비스 식별자, 실행 범위, trace 계약, 파싱된 CLI 옵션 구조를 이 파일에서 함께 관리한다.
 */
/**
 * 주홍이가 현재 지원하는 AI CLI 서비스 식별자다.
 * 세션 저장값, command 실행 컨텍스트, 서비스별 분기 조건에 공통으로 사용한다.
 */
export type AIServiceType = 'codex' | 'gemini' | 'claude';
/** AI 서비스 식별 상수 */
export declare const AI_SERVICE: {
    readonly CLAUDE: "claude";
    readonly CODEX: "codex";
    readonly GEMINI: "gemini";
};
/**
 * history, report, telemetry에서 작업 종류를 구분할 때 사용하는 범위 식별자다.
 * slash command 이름과 1:1로 대응되지 않는 경우도 있으므로 기록 전용 scope를 별도로 유지한다.
 */
export type ActionScope = 'chat' | 'shell-command' | 'commit' | 'review' | 'gen-html' | 'gen-storybook' | 'minify-md' | 'talk-to-figma' | 'local-server' | 'mcp' | 'security-policy' | 'show-stream' | 'token-optimizer' | 'service-change' | 'session';
/**
 * 서비스 CLI에 전달할 추론 강도다.
 * 모든 서비스가 같은 이름을 쓰는 것은 아니지만, 주홍이 내부에서는 공통 enum처럼 다룬다.
 */
export type ReasoningEffort = 'minimal' | 'low' | 'medium' | 'high';
/**
 * 실행 흐름을 단계 문자열로 남기는 공통 trace 함수 계약이다.
 * `step` 은 분류 키, `detail` 은 사람이 읽을 상세 문자열이다.
 */
export type TraceLogger = (step: string, detail?: string) => void;
/**
 * CLI 엔트리에서 파싱이 끝난 실행 옵션 묶음이다.
 * 세션 부트스트랩과 각 command/action 모듈이 동일한 옵션 구조를 공유하도록 한다.
 */
export type ParsedCliArgs = {
    /**
     * `--help` 로 도움말만 출력하고 종료할지 여부다.
     */
    help: boolean;
    /**
     * 서비스 CLI에 그대로 전달할 모델 이름이다.
     * 지정하지 않으면 각 서비스 기본 모델 전략을 따른다.
     */
    model?: string;
    /**
     * 서비스에 요청할 추론 강도다.
     * 일부 서비스는 이 값을 자체 옵션으로 변환해 사용한다.
     */
    reasoningEffort?: ReasoningEffort;
    /**
     * 세션 시작 시 강제로 선택할 서비스다.
     * 값이 있으면 저장된 기본 서비스보다 우선한다.
     */
    service?: AIServiceType;
    /**
     * 실제 부수효과를 최소화하고 test report만 남기는 모드인지 여부다.
     */
    testMode: boolean;
    /**
     * trace 로그를 더 자세히 출력할지 여부다.
     */
    traceMode: boolean;
};
//# sourceMappingURL=app.d.ts.map