import type { EngineQualityTier } from './engine-base.js'; /** * Returns the static quality tier for a given engine name. Defaults to * 'medium' when the engine is not in the registry — this protects the * pipeline from blowing up on plugin engines while still letting S11c * apply a sensible weight. */ export declare function engineQualityTier(name: string): EngineQualityTier; /** * Tier → RRF weight mapping. High-tier engines (structured * first-party APIs) contribute full weight; low-tier engines (sparse * snippets, fallback-only payloads) contribute half. Medium sits between * so most scraped HTML engines stay close to today's behavior. * * high → 1.0 * medium → 0.7 * low → 0.5 */ export declare const QUALITY_WEIGHTS: Record; /** * RRF weight multiplier for a quality tier. S11c flips this from inert (1.0 * for every tier) to the per-tier weights above so the orchestrator can * weight engine contributions by evidence quality. */ export declare function qualityRrfMultiplier(tier: EngineQualityTier): number; /** * Resolve the effective RRF weight for an engine. Precedence: * 1. caller-supplied tier (e.g. EngineEntry.quality from S11b) — wins * because the per-vertical entry is the most specific source of truth. * 2. quality tier (via the static registry above) — for engines that * haven't been classified by a vertical-level entry yet. * 3. legacyWeight (per-vertical numeric override) — preserves existing * behaviour for plugin engines that ship a custom weight. * 4. 1.0 default. * * This is what the orchestrator should call before fusing engine outcomes * — it keeps the tier lookup centralized so callers don't sprinkle * engineQualityTier() / qualityRrfMultiplier() throughout the pipeline. * * Forward-compat: an unknown tier string is treated as the safe default * (legacyWeight or 1.0) so a future extension to additional tiers * (e.g. 'premium') won't crash older orchestrator code in the field. */ export declare function resolveEngineWeight(name: string, legacyWeight?: number, callerTier?: EngineQualityTier | string): number; /** * Test-only: snapshot of the full registry for assertions like "every * registered engine has a tier". Exported for tests so we do not have to * inline the map again. */ export declare function _enginesWithQualityForTest(): ReadonlyArray<[string, EngineQualityTier]>; //# sourceMappingURL=engine-quality.d.ts.map