/**
 * 토큰 최적화 모듈의 공통 타입을 정의하는 파일이다.
 * 최적화 옵션, 결과, 줄 필터링 옵션 등 모든 관련 타입을 모아둔다.
 */
/**
 * 줄 단위 제한(truncation) 옵션이다.
 */
export interface TruncateLinesOptions {
    /** 줄당 최대 문자 수. 초과 시 `...` 으로 잘라낸다 */
    maxCharsPerLine?: number;
    /** 앞에서 유지할 줄 수 */
    headLines?: number;
    /** 뒤에서 유지할 줄 수 */
    tailLines?: number;
    /** 절대 최대 줄 수. head/tail 적용 후에도 이 값을 초과하면 잘라낸다 */
    maxLines?: number;
}
/**
 * 줄 단위 keep/strip 필터링 옵션이다.
 */
export interface FilterLinesOptions {
    /** 이 패턴에 매칭되는 줄만 유지한다. 비어 있으면 모든 줄을 유지한다 */
    keepPatterns?: RegExp[];
    /** 이 패턴에 매칭되는 줄을 제거한다 */
    stripPatterns?: RegExp[];
    /** 빈 줄(공백만 있는 줄 포함)을 제거할지 여부 */
    stripEmptyLines?: boolean;
}
/**
 * `optimizeText` 파이프라인에 전달하는 통합 옵션이다.
 */
export interface OptimizeOptions {
    /** ANSI 이스케이프 코드 제거 여부 (기본: true) */
    stripAnsi?: boolean;
    /** 줄당 최대 문자 수 */
    maxCharsPerLine?: number;
    /** 절대 최대 줄 수 */
    maxLines?: number;
    /** 앞에서 유지할 줄 수 */
    headLines?: number;
    /** 뒤에서 유지할 줄 수 */
    tailLines?: number;
    /** 중복 줄 합산 여부 (기본: false) */
    deduplicate?: boolean;
    /** 유지할 줄 패턴 */
    keepPatterns?: RegExp[];
    /** 제거할 줄 패턴 */
    stripPatterns?: RegExp[];
    /** 빈 줄 제거 여부 (기본: true) */
    stripEmptyLines?: boolean;
}
/**
 * `optimizeText` 파이프라인 실행 결과다.
 */
export interface OptimizeResult {
    /** 최적화된 텍스트 */
    text: string;
    /** 원본 토큰 수 (공백 기준 근사치) */
    originalTokens: number;
    /** 최적화 후 토큰 수 */
    optimizedTokens: number;
    /** 절감률 (%) */
    savingsPercent: number;
}
//# sourceMappingURL=types.d.ts.map