'use client'; import { IndexRecommendation } from "../query.mjs"; import { AggregatedIndexRecommendation } from "./index-coverage.mjs"; //#region src/action-plan/aggregate-index-recommendations.d.ts /** * Minimal per-query shape the action-plan consolidation reads. Structurally * compatible with both the live-query optimizer state and the CI run query * result, so callers on either side can pass their records directly without an * adapter. Only the `improvements_available` state carries index actions; every * other state is ignored. */ interface ActionPlanQuery { hash: string; optimization: { state: string; cost?: number; optimizedCost?: number; costReductionPercentage?: number; indexRecommendations?: IndexRecommendation[]; }; } /** * Collapse a set of analyzed queries into one entry per unique index * definition, scored by the percentage cost reduction of the queries it helps. * * This is the shared primitive behind the live-query and CI-run recommendation * views. Ranking here is the legacy "most queries, then biggest single * percentage" order; the absolute-cost ranking the dashboard action plan needs * lives in {@link buildActionPlan}. */ declare function aggregateIndexRecommendations(queries: readonly ActionPlanQuery[]): AggregatedIndexRecommendation[]; //#endregion export { ActionPlanQuery, aggregateIndexRecommendations }; //# sourceMappingURL=aggregate-index-recommendations.d.mts.map