/**
 * review, test, error report를 markdown 파일로 기록하는 파일이다.
 * 결과를 브라우저로 열고 history index를 갱신하는 후처리를 공통화한다.
 */
import type { AIServiceType, HistorySection, StoragePaths, TurnHistoryRecord } from './types';
/**
 * AI 응답에서 코드 리뷰 본문만 별도 파일로 저장한다.
 *
 * @description
 * `ai-history/turns` 의 상세 이력은 유지하고, 브라우저로 바로 보기 좋은 순수 리뷰 결과만
 * `.ju-hong-e/code-review` 아래에 별도 저장한다.
 * @param paths 스토리지 경로
 * @param reviewOutput 리뷰 결과 텍스트
 * @returns 저장된 파일 경로
 */
export declare function writeCodeReviewReport(paths: StoragePaths, reviewOutput: string): string;
/**
 * 프롬프트 참조용 git diff markdown 파일을 저장한다.
 *
 * @description
 * `/review`, `/commit` 처럼 큰 diff를 AI 프롬프트 본문에 직접 넣지 않고 파일 경로만 전달할 때 사용한다.
 * 파일명은 `YYYY-MM-DD-HH-MM-SS-diff.md` 형태를 기본으로 유지한다.
 * @param paths 스토리지 경로
 * @param diffOutput markdown 형식 diff 본문
 * @returns 저장된 diff 파일 경로
 */
export declare function writeCodeReviewDiffFile(paths: StoragePaths, diffOutput: string): string;
/**
 * 마크다운 리포트 파일을 Chrome 우선으로 연다.
 *
 * @description
 * `gemini-cli`의 리포트 오픈 흐름을 참고해 Chrome을 먼저 시도하고,
 * 실패하면 OS 기본 브라우저로 폴백한다. 브라우저 실행 실패는 호출 흐름을 중단시키지 않는다.
 * @param reportPath 열 파일 경로
 */
export declare function openReportInBrowser(reportPath: string): void;
/**
 * @description 턴 히스토리를 마크다운 파일로 저장한다.
 * @param paths 스토리지 경로
 * @param record 턴 히스토리 레코드
 * @returns 저장된 파일 경로
 */
export declare function writeTurnHistory(paths: StoragePaths, record: TurnHistoryRecord): string;
/**
 * @description 서비스 변경 히스토리를 저장한다.
 * @param paths 스토리지 경로
 * @param previousService 이전 서비스
 * @param nextService 다음 서비스
 * @param historyContext 히스토리 컨텍스트
 * @returns 저장된 파일 경로
 */
export declare function writeServiceChangeHistory(paths: StoragePaths, previousService: AIServiceType | '', nextService: AIServiceType, historyContext: string): string;
/**
 * @description 테스트 리포트를 마크다운 파일로 저장한다.
 * @param paths 스토리지 경로
 * @param title 리포트 제목
 * @param markdown 리포트 본문
 * @returns 저장된 파일 경로
 */
export declare function writeTestReport(paths: StoragePaths, title: string, markdown: string): string;
/**
 * @description 에러 리포트를 마크다운 파일로 저장한다.
 * @param paths 스토리지 경로
 * @param error 에러 객체
 * @param options 추가 옵션 (scope, args, extraSections, traceMessages)
 * @returns 저장된 파일 경로
 */
export declare function writeErrorReport(paths: StoragePaths, error: unknown, options: {
    /**
     * 파싱된 명령 인자 목록
     */
    args?: string[];
    /**
     * extra Sections 값
     */
    extraSections?: HistorySection[];
    /**
     * history와 telemetry 분류에 사용할 작업 범위
     */
    scope: string;
    /**
     * 실행 중 수집한 trace 로그 목록
     */
    traceMessages?: string[];
}): string;
/**
 * @description 출력 디렉터리를 보장하고 절대 경로를 반환한다.
 * @param rootDir 기준 디렉터리
 * @param outputPath 출력 경로
 * @returns 절대 경로
 */
export declare function ensureOutputDirectory(rootDir: string, outputPath: string): string;
//# sourceMappingURL=report-helpers.d.ts.map