import { ChatService, ChatContext, ChatCommand, ChatMode, InputMethod } from "./types";
import { ChatModule } from "./types";
import { ChatInteraction } from "../types";
export declare class CliChatService implements ChatService {
    private context;
    private commands;
    private modes;
    private chatHistory;
    private modules;
    private inputHistory;
    private readonly historyFile;
    constructor(plugins?: string[]);
    getModuleByName(name: string): ChatModule;
    private loadInputHistory;
    private saveInputHistory;
    private addToInputHistory;
    getContext(): ChatContext;
    getTools(): import("../services").ToolsService;
    setContext(context: Partial<ChatContext>): void;
    setInputMethod(method: InputMethod): void;
    resetInputMethod(): void;
    registerCommand(command: ChatCommand): void;
    registerMode(mode: ChatMode): void;
    registerModule(module: ChatModule): void;
    getCommands(): ChatCommand[];
    getCommandsForMode(mode: string): ChatCommand[];
    getCommandsForActiveModes(): ChatCommand[];
    setMode(mode: string): void;
    getModes(): ChatMode[];
    getMode(name: string): ChatMode | undefined;
    processInput(input: string): Promise<boolean>;
    enableMode(name: string): void;
    disableMode(name: string): void;
    getInput(prompt?: string, options?: string[]): Promise<string>;
    clearHistory(): void;
    getChatHistory(): ChatInteraction[];
    getInputHistory(): string[];
    clearInputHistory(): void;
    formatChatInput(input: string, plugins?: string[], chatHistory?: ChatInteraction[]): Promise<string>;
    startChatLoop(): Promise<void>;
}
