/**
 * Section 21 — Chat REPL for CLI v2
 *
 * Interactive REPL that integrates:
 * - RuntimeSidecar pipeline (debloat-nlp)
 * - CommandBus for slash commands
 * - OutputRouter for themed rendering
 * - ProviderEventNormalizer for bilingual output
 */
import { type CommandBusResult } from "../../runtime/command-bus.js";
import { createModelPickerState } from "../../providers/model-tabs.js";
export interface ChatReplOptions {
    provider?: string;
    model?: string;
    cwd?: string;
    json?: boolean;
}
export interface ChatReplState {
    provider?: string;
    model?: string;
    thinking?: string;
    modelVariant?: string;
    activeProviderTab?: string;
}
export declare function createChatReplState(options?: ChatReplOptions): ChatReplState;
export declare function createChatReplCommandBus(options?: ChatReplOptions, state?: ChatReplState): import("../../runtime/command-bus.js").CommandBus;
export declare function applyChatReplSlashResultToState(state: ChatReplState, result: CommandBusResult): void;
export declare function prepareChatReplModelPickerForShow(args: {
    input: string;
    state: ChatReplState;
    modelPickerState: ReturnType<typeof createModelPickerState>;
    providerIds: readonly string[];
}): boolean;
/**
 * Start an interactive chat REPL that routes all input through the full pipeline.
 */
export declare function startChatRepl(options: ChatReplOptions): Promise<void>;
