import type { RuntimePlan } from "../../domain/service/RuntimePlanCompiler.js"; export interface IndexCoverageOptions { readonly rowsPerSchema?: number; readonly requirePublic?: boolean; readonly requiredViews?: readonly string[]; } export interface IndexCoveragePath { readonly view: string; readonly schema: string; readonly surface: string; readonly required: boolean; readonly sql: string; readonly params: readonly unknown[]; readonly plan: readonly string[]; readonly usedIndexes: readonly string[]; readonly resultCount: number; readonly tableScan: boolean; readonly indexedScan: boolean; readonly temporarySort: boolean; readonly dataAccessFields: readonly string[]; readonly schemaIndexRequired: boolean; readonly schemaIndexUsed: boolean; readonly passed: boolean; readonly findings: readonly string[]; } export interface IndexCoverageReport { readonly version: 1; readonly sqliteVersion: string; readonly rowsPerSchema: number; readonly paths: readonly IndexCoveragePath[]; readonly summary: { readonly views: number; readonly required: number; readonly requiredFailures: number; readonly missingRequiredViews: readonly string[]; readonly tableScans: number; readonly temporarySorts: number; }; } /** Execute real compiled Views against the real schema in crowded SQLite. */ export declare function inspectIndexCoverage(runtimePlan: RuntimePlan, options?: IndexCoverageOptions): IndexCoverageReport; //# sourceMappingURL=IndexCoverageHarness.d.ts.map