import { Context } from 'effect'; import type { Tool } from '../tool/tool'; import type { ProviderConfigInput } from '../platform/provider'; import { AgentFileWatcher } from '../agent/file-watcher'; import type { AgentConfig } from '../agent/agent'; import type { MCPGlobalServerConfig, ToolPoliciesConfig } from './types'; import type { FrameworkConfig } from './types'; /** * Options for initialization */ export interface InitializerOptions { toolExecutors?: Map; providers?: ProviderConfigInput; routingOverride?: import('../routing/types').RoutingConfig; } /** * Narrow service-backed target used by createFred config initialization. * It intentionally exposes capabilities rather than legacy manager objects. */ export interface ConfigInitializationTarget { setDefaultSystemMessage(systemMessage?: string): Promise; setMemoryDefaults(memory: NonNullable): Promise; setContextPolicy(policy: NonNullable['policy']): Promise; setToolPolicies(policies: ToolPoliciesConfig | undefined): Promise; registerProvider(idOrPackage: string, config?: import('../platform/provider').ProviderConfig): Promise; registerDefaultProviders(config?: ProviderConfigInput): Promise; configureMCPServers(configs: Array): Promise; registerTool(tool: Tool): Promise; configureRouting(config: import('../routing/types').RoutingConfig): Promise; configureWorkflows(workflows: import('../workflow/manager').Workflow[]): Promise; registerIntents(intents: import('../intent/intent').Intent[]): Promise; createAgent(config: AgentConfig): Promise; removeAgent(id: string): Promise; hasAgent(id: string): Promise; defineWorkflow(config: import('../pipeline').PipelineConfigV2): Promise; getGlobalVariables(): Promise>; invalidateTemplateCache(): Promise; ownAgentFileWatcher(watcher: AgentFileWatcher): void; emitWarning(message: string | null): void; } /** Applies YAML/JSON configuration to the service-backed Fred client target. */ export declare class ConfigInitializer { /** Apply a validated config to the Effect-service-backed client target. */ initializeServices(target: ConfigInitializationTarget, configPath: string, options?: InitializerOptions, validatedConfig?: FrameworkConfig): Promise; private buildServiceTemplateOptions; private createServiceAgentWatcher; } /** * Effect service tag for ConfigInitializer */ export declare const ConfigInitializerService: Context.Tag; //# sourceMappingURL=initializer.d.ts.map