/**
 * Kimi CLI 배너 필터 — 기본 웰컴 배너를 키미캣 커스텀 배너로 교체
 *
 * node-pty 스트림에서 Kimi CLI의 기본 배너 블록을 감지하고,
 * Directory / Session / Model 메타 정보를 추출한 뒤
 * omk 테마의 커스텀 배너로 대체 출력합니다.
 */
export interface BannerMeta {
    directory?: string;
    session?: string;
    model?: string;
}
export declare class BannerReplacer {
    private onReplace;
    private stripOnly;
    private onMeta?;
    private state;
    private chunks;
    private strippedCache;
    private cacheDirty;
    private timeout;
    private readonly MAX_LINES;
    private readonly TIMEOUT_MS;
    private readonly MAX_BYTES;
    constructor(onReplace: (meta: BannerMeta) => void, stripOnly?: boolean, onMeta?: ((meta: BannerMeta) => void) | undefined);
    private get buffer();
    private getStripped;
    /** 데이터 청크를 받아 배너 교체 또는 그대로 통과시킴 */
    process(data: string): string | null;
    /** 타임아웃 등으로 인한 강제 플러시 */
    forceFlush(): string | null;
    private startTimeout;
    private clearTimeout;
    private countLines;
    private passthroughTerminalSetupPrefix;
    private shouldContinueBuffering;
    /** 버퍼에 Kimi CLI 배너 시그널과 배너 상단(╭)/하단(╰)이 모두 존재하면 완료로 판단 */
    private isBannerComplete;
    private hasWelcomeLine;
    private hasMetaLines;
    private hasCompleteBox;
    private flushReplace;
    private flushPassthrough;
    private extractMeta;
    /** 배너 하단(╰─) 이후의 데이터만 추출 */
    private extractAfterBanner;
    /**
     * Fallback banner stripper: removes the Kimi CLI default banner block
     * (╭...╰) when the precise extractAfterBanner fails or we timeout.
     */
    private stripKimiBanner;
    private looksLikeKimiBanner;
}
