import type { Logger, AgentOptions } from "../types/index.js";
import type { MessageManager } from "../managers/messageManager.js";
import type { SlashCommandManager } from "../managers/slashCommandManager.js";
import type { HookManager } from "../managers/hookManager.js";
import type { ConfigurationService } from "./configurationService.js";
import type { AIManager } from "../managers/aiManager.js";
import type { SubagentManager } from "../managers/subagentManager.js";
import type { TaskManager } from "./taskManager.js";
export interface InteractionContext {
    messageManager: MessageManager;
    slashCommandManager: SlashCommandManager;
    hookManager: HookManager;
    workdir: string;
    configurationService: ConfigurationService;
    logger?: Logger;
    aiManager: AIManager;
    subagentManager: SubagentManager;
    taskManager: TaskManager;
    options: AgentOptions;
    abortMessage: () => void;
}
export declare class InteractionService {
    static sendMessage(context: InteractionContext, content: string, images?: Array<{
        path: string;
        mimeType: string;
    }>): Promise<void>;
    static restoreSession(context: InteractionContext, sessionId: string): Promise<void>;
}
//# sourceMappingURL=interactionService.d.ts.map