import { McpConfig, GlobalMcpConfig, GitignoreConfig, BackupConfig, SkillsConfig, SubagentsConfig } from '../types'; /** Test helper — re-arms the deprecation guard so suites can assert it fires. */ export declare function _resetLegacySubagentsWarningForTests(): void; /** * Configuration for a specific agent as defined in ruler.toml. */ export interface IAgentConfig { enabled?: boolean; outputPath?: string; outputPathInstructions?: string; outputPathConfig?: string; /** MCP propagation config for this agent. */ mcp?: McpConfig; /** Agent-scoped MCP server definitions. */ mcpServers?: Record>; } /** * Parsed ruler configuration values. */ export interface LoadedConfig { /** Agents to run by default, as specified by default_agents. */ defaultAgents?: string[]; /** Per-agent configuration overrides. */ agentConfigs: Record; /** Command-line agent filters (--agents), if provided. */ cliAgents?: string[]; /** Global MCP servers configuration section. */ mcp?: GlobalMcpConfig; /** Gitignore configuration section. */ gitignore?: GitignoreConfig; /** Backup configuration section. */ backup?: BackupConfig; /** Skills configuration section. */ skills?: SkillsConfig; /** Subagents configuration section. */ subagents?: SubagentsConfig; /** Whether to enable nested rule loading from nested .ruler directories. */ nested?: boolean; /** Whether the nested option was explicitly provided in the config. */ nestedDefined?: boolean; } /** * Options for loading the ruler configuration. */ export interface ConfigOptions { projectRoot: string; /** Path to a custom TOML config file. */ configPath?: string; /** CLI filters from --agents option. */ cliAgents?: string[]; /** Whether implicit config discovery may fall back to XDG_CONFIG_HOME/ruler. */ checkGlobal?: boolean; } /** * Loads and parses the ruler TOML configuration file, applying defaults. * Missing implicit configs return defaults. Explicit configs and existing * implicit configs fail fast when missing, unreadable, or invalid. */ export declare function loadConfig(options: ConfigOptions): Promise;