import type { SessionStore } from '../session/SessionStore.js'; import type { MemoryService } from '../memory/MemoryService.js'; import type { EnforcementRule, HarnessHooks } from '../types/index.js'; import type { ToolExecutor } from './ToolExecutor.js'; import type { ConversationState } from './ConversationState.js'; import type { ConversationEventLog } from './ConversationEventLog.js'; import type { AgentStateController } from './AgentStateController.js'; /** * Configuration for creating a foundation service bundle. */ export interface FoundationConfig { sessionStore?: SessionStore; defaultAgentId?: string; enforcementRules?: EnforcementRule[]; hooks?: HarnessHooks; memoryService?: MemoryService; } /** * Bundle of all foundation services. Both Runtime and VoiceEngine * compose this to share operational logic. */ export interface Foundation { toolExecutor: ToolExecutor; conversationState: ConversationState; eventLog: ConversationEventLog; agentState: AgentStateController; } /** * Create a foundation service bundle with default implementations. * Services can be individually overridden if needed. */ export declare function createFoundation(config?: FoundationConfig): Foundation;