/**
 * 구조화 스트림 후처리기에서 공통으로 쓰는 JSONL 파싱, 요약, 렌더링 helper 를 제공하는 파일이다.
 */
import type { ProcessStdoutChunkResult, ServiceOutputProcessor } from './output-processors';
/**
 * 범용 JSON object 표현 타입이다.
 */
export type UnknownRecord = Record<string, unknown>;
/**
 * @description unknown 값을 record 로 좁힌다.
 * @param value 확인할 값
 * @returns record 로 해석 가능하면 변환 결과
 */
export declare function asRecord(value: unknown): UnknownRecord | undefined;
/**
 * @description 후보 키 목록에서 첫 번째 문자열 값을 찾는다.
 * @param value 검색 대상 record
 * @param keys 우선순위 순의 키 목록
 * @returns 발견된 첫 문자열 값
 */
export declare function pickFirstString(value: UnknownRecord, keys: string[]): string;
/**
 * @description 긴 절대경로를 실시간 출력에 맞게 축약한다.
 * @param rawPath 원본 경로 문자열
 * @returns 마지막 두 세그먼트 중심의 경로 문자열
 */
export declare function formatPathForDisplay(rawPath: string): string;
/**
 * @description 구조화 이벤트 payload 에서 사람이 읽기 쉬운 한 줄 요약을 만든다.
 * @param value 요약할 값
 * @returns 짧은 설명 문자열
 */
export declare function summarizeValue(value: unknown): string;
/**
 * @description 상태 라벨과 상세 정보를 한 줄 메시지로 만든다.
 * @param label 상태 구분 라벨
 * @param detail 상세 설명
 * @returns 줄바꿈이 포함된 상태 문자열
 */
export declare function renderStatusLine(label: string, detail?: string): string;
/**
 * @description 도구 호출 이벤트를 읽기 쉬운 한 줄 메시지로 만든다.
 * @param name 도구 이름
 * @param input 도구 입력
 * @returns 줄바꿈이 포함된 도구 호출 문자열
 */
export declare function renderToolUseLine(name: string, input?: unknown): string;
/**
 * @description 도구 결과 이벤트를 읽기 쉬운 한 줄 메시지로 만든다.
 * @param label 도구 이름 또는 식별자
 * @param detail 결과 상세
 * @param success 성공 여부
 * @returns 줄바꿈이 포함된 도구 결과 문자열
 */
export declare function renderToolResultLine(label: string, detail?: string, success?: boolean): string;
/**
 * @description 오류 이벤트를 읽기 쉬운 한 줄 메시지로 만든다.
 * @param detail 오류 상세
 * @returns 줄바꿈이 포함된 오류 문자열
 */
export declare function renderErrorLine(detail: string): string;
/**
 * @description content 배열 안의 text/content 문자열을 이어붙여 반환한다.
 * @param content 구조화 content 배열
 * @returns 추출된 텍스트
 */
export declare function extractTextFromContentBlocks(content: unknown): string;
/**
 * @description 줄 단위 JSONL stdout 을 누적 버퍼와 함께 처리하는 공통 출력 처리기를 만든다.
 * @param processLine 한 줄 처리 함수
 * @param finalizeState 종료 시점 후처리 함수
 * @returns 라인 버퍼링이 적용된 stdout 처리기
 */
export declare function createLineBufferedProcessor(processLine: (line: string) => ProcessStdoutChunkResult, finalizeState: () => ProcessStdoutChunkResult): ServiceOutputProcessor;
//# sourceMappingURL=structured-output-helpers.d.ts.map