/**
 * SDK 空闲轮询驱动器。
 * 主流程：进入 waiting_input -> 单实例调度 poll 提示 -> 交给 adapter 启动模型 turn -> turn 完成后由 adapter 再次启动本驱动器。
 */
export interface IdlePollLoopOptions {
    readonly getStatus: () => 'starting' | 'thinking' | 'tool_using' | 'waiting_input' | 'completed' | 'terminated' | 'error' | undefined;
    readonly getCommand: () => string | undefined;
    readonly isPollingCommand: (command: string) => boolean;
    readonly dispatchPollingPrompt: (command: string) => void | Promise<void>;
    readonly dispatchRegularIdleCommand: (command: string) => void | Promise<void>;
    readonly delayMs?: number;
    readonly regularIdleDelayMs?: number;
}
/**
 * 管理单个 SDK 会话的空闲自动命令。
 * 具体逻辑：poll_message 类命令由 runtime/adapter 持续重臂；普通命令保留原有延迟触发语义。
 */
export declare class IdlePollLoop {
    private readonly options;
    private timer;
    private running;
    private readonly delayMs;
    private readonly regularIdleDelayMs;
    constructor(options: IdlePollLoopOptions);
    /**
     * 启动或重臂空闲驱动。
     * 主流程：清理旧定时器 -> 校验会话仍在 waiting_input -> 根据命令类型选择 poll 驱动或普通 idle 命令。
     */
    start(): void;
    /**
     * 停止当前空闲驱动。
     * 具体逻辑：只取消尚未触发的调度；已经进入模型 turn 的任务由 adapter 生命周期负责。
     */
    stop(): void;
    private fire;
}
//# sourceMappingURL=idle-poll-loop.d.ts.map