/**
 * watch-pr-review 설정(repos.json)과 이력(history.json)을 파일 시스템에 읽고 쓰는 파일이다.
 * 모든 산출물은 `.ju-hong-e/watch-pr-review/` 디렉터리 하위에 보관한다.
 */
import type { ReviewedPrHistory, WatchConfig, WatchHistory } from '../domain/types';
/** 기본 폴링 주기(ms)다. */
export declare const DEFAULT_POLL_INTERVAL_MS = 10000;
/** 기본 동시 리뷰 워커 수다. */
export declare const DEFAULT_CONCURRENCY = 2;
/** watch-pr-review 전용 경로 묶음이다. */
export interface WatchPaths {
    /** watch-pr-review 루트 디렉터리 경로다. */
    dir: string;
    /** 감시 대상 저장소 설정 파일(repos.json) 경로다. */
    configPath: string;
    /** 리뷰 이력 파일(history.json) 경로다. */
    historyPath: string;
    /** 리뷰 결과 마크다운을 저장하는 디렉터리 경로다. */
    reportsDir: string;
}
/**
 * @description `.ju-hong-e` 루트 기준 watch-pr-review 경로 묶음을 생성한다.
 * @param baseDir `.ju-hong-e` 루트 디렉터리 경로
 * @returns watch-pr-review 경로 묶음
 */
export declare function getWatchPaths(baseDir: string): WatchPaths;
/**
 * @description 디렉터리와 기본 설정/이력 파일이 없으면 생성한다.
 * @param watchPaths watch-pr-review 경로 묶음
 */
export declare function ensureWatchFiles(watchPaths: WatchPaths): void;
/**
 * @description repos.json을 로드한다. 파일이 없거나 손상되면 기본값을 반환한다.
 * @param watchPaths watch-pr-review 경로 묶음
 * @returns 감시 설정
 */
export declare function loadWatchConfig(watchPaths: WatchPaths): WatchConfig;
/**
 * @description history.json을 로드한다. 파일이 없거나 손상되면 빈 이력을 반환한다.
 * @param watchPaths watch-pr-review 경로 묶음
 * @returns 리뷰 이력
 */
export declare function loadWatchHistory(watchPaths: WatchPaths): WatchHistory;
/**
 * @description history.json을 저장한다.
 * @param watchPaths watch-pr-review 경로 묶음
 * @param history 저장할 리뷰 이력
 */
export declare function saveWatchHistory(watchPaths: WatchPaths, history: WatchHistory): void;
/**
 * @description 동일 PR이 동일 커밋 구성으로 이미 리뷰되었는지 판단한다.
 * @param history 현재 리뷰 이력
 * @param url 대상 PR URL
 * @param commitOids 현재 PR 커밋 OID 목록
 * @returns 이미 같은 커밋으로 리뷰했으면 true
 */
export declare function hasReviewedSameCommits(history: WatchHistory, url: string, commitOids: string[]): boolean;
/**
 * @description 리뷰 이력에 PR 결과를 추가하거나 갱신한 새 이력 객체를 반환한다.
 * @param history 현재 리뷰 이력
 * @param entry 추가/갱신할 PR 이력
 * @returns 갱신된 리뷰 이력
 */
export declare function upsertReviewedPr(history: WatchHistory, entry: ReviewedPrHistory): WatchHistory;
//# sourceMappingURL=store.d.ts.map