/**
 * 리터치 편집 코어다.
 * AI CLI는 에이전트로 디스크 파일을 직접 수정하므로, 편집 전 스냅샷(before)을 떠두고
 * 편집 후 디스크를 다시 읽어(after) 변경 목록(diff)을 계산한다.
 * AI가 디스크를 건드리지 않은 경우에는 응답 텍스트의 파일 출력을 fallback으로 반영한다.
 */
import type { AIServiceType, ParsedCliArgs, StoragePaths, TraceLogger } from '../../../platform/types/index';
import type { RetouchEditResult, RetouchSelectedElement } from '../domain/types';
/**
 * @description
 * 리터치 편집을 실행한다. 편집 전후 디스크 스냅샷을 비교해 변경 목록(diff)을 만든다.
 * 진행 로그는 onProgress 콜백으로 실시간 전달한다.
 * @param options 편집 실행 옵션
 * @returns 편집 결과
 */
export declare function runRetouchEdit(options: {
    abortSignal?: AbortSignal;
    importPath: string;
    onProgress?: (chunk: string) => void;
    parsedArgs: ParsedCliArgs;
    paths: StoragePaths;
    previewError?: string;
    prompt: string;
    selectedElements?: RetouchSelectedElement[];
    service: AIServiceType;
    trace: TraceLogger;
}): Promise<RetouchEditResult>;
//# sourceMappingURL=retouch-edit.d.ts.map