/** * Configuration resolution for pi-search. * * Resolution order (highest priority first): * 1. process.env.EXA_API_KEY / process.env.PI_SEARCH_CONFIG_PATH * 2. ~/.pi/pi-search.json (or PI_SEARCH_CONFIG_PATH) * 3. defaults * * Mirrors the pi-exa-search config pattern with extension hook * for the disabledTools list and the REST/MCP selection. */ import type { ResolvedConfig } from "./types.js"; export declare const DEFAULT_CONFIG_PATH: string; export declare const DEFAULT_MCP_TIMEOUT_MS = 30000; type RawConfig = { exaApiKey?: string; braveApiKey?: string; firecrawlApiKey?: string; apiKey?: string; disabledTools?: string[]; useRestForExa?: boolean; mcpTimeoutMs?: number; ssrf?: { allowRanges?: string[]; }; githubToken?: string; urlRewrites?: Array<{ match: string; replace: string; }>; }; export type ReadConfigOptions = { configPath?: string; env?: NodeJS.ProcessEnv; homeDir?: string; }; export declare function parseConfig(raw: string): RawConfig; export declare function readConfig(options?: ReadConfigOptions): RawConfig; export type ResolveConfigOptions = ReadConfigOptions & { disabledToolsFromArgs?: string[]; }; export declare function resolveConfig(options?: ResolveConfigOptions): ResolvedConfig; /** Throws ConfigError if any unknown tool names are disabled. */ export declare function validateDisabledTools(disabled: Set, known: readonly string[]): void; export {}; //# sourceMappingURL=config.d.ts.map