import type { ToolDefinition } from "../types.js";
import type { ChannelAdapter } from "./types.js";
export interface RouterOptions {
    channels: ChannelAdapter[];
    tools: ToolDefinition[];
    cwd: string;
    signal: AbortSignal;
    model: string;
    thinking?: boolean;
    compaction?: boolean;
    /** Reply with this prefix on transient errors so user knows something failed. */
    errorPrefix?: string;
}
export declare class ChannelRouter {
    private threads;
    private snapshot?;
    private opts;
    constructor(opts: RouterOptions);
    start(): Promise<void>;
    stop(): Promise<void>;
    private threadKey;
    private getOrCreateThread;
    private handleIncoming;
    private processOne;
    /** Run end-of-thread reflection for every conversation that received a message. */
    reflectAll(): Promise<void>;
}
//# sourceMappingURL=router.d.ts.map