import type { Message, Logger, AgentOptions, ILspManager } from "../types/index.js";
import type { SkillManager } from "../managers/skillManager.js";
import type { SubagentManager } from "../managers/subagentManager.js";
import type { Container } from "../utils/container.js";
import type { ToolManager } from "../managers/toolManager.js";
import type { PluginManager } from "../managers/pluginManager.js";
import type { SlashCommandManager } from "../managers/slashCommandManager.js";
import type { McpManager } from "../managers/mcpManager.js";
import type { ConfigurationService } from "./configurationService.js";
import type { HookManager } from "../managers/hookManager.js";
import type { MessageManager } from "../managers/messageManager.js";
import type { MemoryRuleManager } from "../managers/MemoryRuleManager.js";
import type { LiveConfigManager } from "../managers/liveConfigManager.js";
import type { TaskManager } from "./taskManager.js";
export interface InitializationContext {
    skillManager: SkillManager;
    subagentManager: SubagentManager;
    container: Container;
    toolManager: ToolManager;
    pluginManager: PluginManager;
    options: AgentOptions;
    slashCommandManager: SlashCommandManager;
    logger?: Logger;
    mcpManager: McpManager;
    workdir: string;
    lspManager: ILspManager;
    configurationService: ConfigurationService;
    hookManager: HookManager;
    messageManager: MessageManager;
    memoryRuleManager: MemoryRuleManager;
    liveConfigManager: LiveConfigManager;
    taskManager: TaskManager;
    setProjectMemory: (content: string) => void;
    setUserMemory: (content: string) => void;
    resolveAndValidateConfig: () => void;
}
export declare class InitializationService {
    static initialize(context: InitializationContext, options?: {
        restoreSessionId?: string;
        continueLastSession?: boolean;
        messages?: Message[];
    }): Promise<void>;
}
//# sourceMappingURL=initializationService.d.ts.map