export interface SverkloConfig { weights?: Array<{ glob: string; weight: number; }>; ignore?: string[]; search?: { defaultTokenBudget?: number; maxResults?: number; budgets?: Record; }; indexing?: { extensions?: Record; }; embeddings?: { /** Embedding provider: 'onnx' (default) or 'ollama'. */ provider?: 'onnx' | 'ollama'; /** Model name — provider-specific. Default depends on provider. */ model?: string; /** Vector dimensions. Auto-detected from provider if omitted. */ dimensions?: number; ollama?: { /** Ollama API base URL. Default: 'http://localhost:11434' */ baseUrl?: string; /** Ollama embedding model. Default: 'nomic-embed-text' */ model?: string; }; onnx?: { /** Path to a custom ONNX model file. */ modelPath?: string; }; }; } /** * Load a .sverklo.yaml / .sverklo.yml config from the project root. * Returns null if no config file exists or if parsing fails. * Never throws — logs a warning on bad input and returns null. */ export declare function loadSverkloConfig(rootPath: string): SverkloConfig | null; /** * Get the weight multiplier for a file path from the config. * Paths should be relative to rootPath. * Returns 1.0 if no config or no matching glob. * Last matching glob wins. */ export declare function getWeight(config: SverkloConfig | null, relativePath: string): number; /** * Like `getWeight`, but returns the full match trail so callers can * explain to the user which glob actually won. Used by * `sverklo weights explain ` (issue #56). * * Returns: * - effective: the final weight that getWeight() would return * - matches: every glob entry that matched, in declaration order. * The LAST entry in this list is the one that took effect. * - source: where the config was loaded from, or null if no config. */ export declare function explainWeight(config: SverkloConfig | null, relativePath: string, source?: string | null): { effective: number; matches: Array<{ glob: string; weight: number; index: number; }>; source: string | null; };