import type { CharacterQueueOptions } from './types';
/**
 * 字符队列——流式渲染的调度核心。
 *
 * - 接收 SSE 推送的 content（完整字符串，非增量）
 * - 标签页可见时以 RAF 驱动逐字输出（60fps 动画）
 * - 标签页不可见时降级为 setTimeout，保证后台仍能消费
 * - 切回前台时自动恢复 RAF
 *
 * 默认值差异：本类独立使用时 `animate` 默认 `true`（打字机开启）；被
 * `MarkdownRenderer` 包装且 `streaming === true` 时，上层会显式覆盖为
 * `animate: false`，需要打字机效果时由调用方传 `queueOptions.animate: true`。
 */
export declare class CharacterQueue {
    private displayedLength;
    private fullContent;
    private rafId;
    private timerId;
    private tickMode;
    private onFlush;
    private options;
    private disposed;
    constructor(onFlush: (displayed: string) => void, options?: CharacterQueueOptions);
    private static resolveOptions;
    /**
     * 在不重置 `displayedLength` 的前提下更新调度参数。
     * 流式过程中调速 / 切换 animate 时使用，避免重建队列导致已展示文本回退。
     */
    setOptions(options?: CharacterQueueOptions): void;
    /** SSE token 到达时调用——接收完整的 content 字符串 */
    push(content: string): void;
    /** 标记流式完成，flush 所有剩余内容 */
    complete(): void;
    /** 释放资源 */
    dispose(): void;
    getDisplayedLength(): number;
    getFullContent(): string;
    private ensureTicking;
    private tick;
    private scheduleNext;
    private handleVisibilityChange;
    private isTickActive;
    private cancelAllTicks;
}
