/**
 * 대화 이력과 최근 작업 맥락을 읽고 저장하는 파일이다.
 * AI 요청 프롬프트에 넣을 history 문맥과 세션 로그를 같은 규칙으로 관리한다.
 */
import type { AIServiceType, ConversationHistoryEntry, StoragePaths } from './types';
declare const DEFAULT_HISTORY_LIMIT = 5;
declare const DEFAULT_HISTORY_CHAR_LIMIT = 14000;
declare const PROMPT_HISTORY_LIMIT = 100;
/**
 * @description AI_SERVICES 참조를 설정한다. helpers.ts에서 초기화 시 호출한다.
 * @param services AI 서비스 목록
 */
export declare function setAiServicesRef(services: AIServiceType[]): void;
/**
 * @description 대화 히스토리에 새 엔트리를 추가한다.
 * @param paths 스토리지 경로
 * @param entry 추가할 엔트리 (timestamp 선택)
 * @returns 저장된 엔트리
 */
export declare function appendConversationHistory(paths: StoragePaths, 
/**
 * 저장할 대화 history 엔트리다.
 * `timestamp` 를 생략하면 현재 시각이 자동으로 채워진다.
 */
entry: Omit<ConversationHistoryEntry, 'timestamp'> & {
    /**
     * 기록 시각을 강제로 지정하고 싶을 때 사용하는 선택 필드다.
     */
    timestamp?: string;
}): ConversationHistoryEntry;
/**
 * @description 대화 히스토리를 로드한다.
 * @param paths 스토리지 경로
 * @param limit 최대 엔트리 수
 * @returns 대화 히스토리 엔트리 배열
 */
export declare function loadConversationHistory(paths: StoragePaths, limit?: number): ConversationHistoryEntry[];
/**
 * @description 최근 대화 히스토리를 마크다운 컨텍스트로 로드한다.
 * @param paths 스토리지 경로
 * @param limit 최대 엔트리 수
 * @param charLimit 전체 문자 수 제한
 * @returns 마크다운 컨텍스트 문자열
 */
export declare function loadRecentHistoryContext(paths: StoragePaths, limit?: number, charLimit?: number): string;
/**
 * @description 저장된 서비스 설정을 읽는다.
 * @param paths 스토리지 경로
 * @returns 저장된 AI 서비스 타입 또는 빈 문자열
 */
export declare function readSavedService(paths: StoragePaths): AIServiceType | "";
/**
 * @description 서비스 설정을 저장한다.
 * @param paths 스토리지 경로
 * @param service 저장할 AI 서비스 타입
 */
export declare function saveService(paths: StoragePaths, service: AIServiceType): void;
/**
 * @description 프롬프트 히스토리를 로드한다.
 * @param paths 스토리지 경로
 * @param limit 최대 엔트리 수
 * @returns 프롬프트 문자열 배열
 */
export declare function loadPromptHistory(paths: StoragePaths, limit?: number): string[];
/**
 * @description 프롬프트 히스토리를 저장한다.
 * @param paths 스토리지 경로
 * @param history 저장할 프롬프트 배열
 */
export declare function savePromptHistory(paths: StoragePaths, history: string[]): void;
/**
 * @description 프롬프트 히스토리에 새 항목을 추가한다.
 * @param paths 스토리지 경로
 * @param value 추가할 프롬프트 문자열
 * @returns 업데이트된 프롬프트 배열
 */
export declare function appendPromptHistory(paths: StoragePaths, value: string): string[];
export { DEFAULT_HISTORY_LIMIT, DEFAULT_HISTORY_CHAR_LIMIT, PROMPT_HISTORY_LIMIT };
//# sourceMappingURL=history-helpers.d.ts.map