import type { Edge, GraphStats } from '../types'; import { type SemanticEdgeFamily } from './edge-contract'; export interface ArkuiScaleBaseline { queryP95WarnMs: number; synthesisWarnMsPerFile: number; peakRssWarnBytes: number; refreshRssDriftWarnPct: number; semanticEdgeRatioWarn: number; heuristicEdgeRatioWarn: number; nodeGrowthWarnRatio: number; edgeGrowthWarnRatio: number; } export type ArkuiScaleIsolationMode = 'in-process' | 'worker-thread' | 'child-process'; export interface ArkuiSyntheticScaleScenario { id: string; tier: 'medium' | '500k' | string; kind: 'first-index' | 'incremental-refresh' | 'repeated-query' | 'repeated-refresh' | string; latencyMs: number; rssDriftPct?: number; peakParentRssBytes?: number; parseIsolationMode?: ArkuiScaleIsolationMode; workerParity?: { baselineMode: string; refreshMode: string; pass: boolean; }; } export interface ArkuiSyntheticScaleGate { pass: boolean; failures: string[]; checks: Array<{ id: string; pass: boolean; details: string; }>; } export interface ArkuiScaleSnapshot { nodeCount: number; edgeCount: number; fileCount: number; semanticEdgeCount: number; heuristicEdgeCount: number; semanticEdgeRatio: number; heuristicEdgeRatio: number; queryP95Ms?: number; synthesisMsPerFile?: number; peakRssBytes?: number; semanticEdgesByFamily: Partial>; warnings: string[]; } export declare const DEFAULT_ARKUI_SCALE_BASELINE: ArkuiScaleBaseline; export declare function buildArkuiScaleSnapshot(stats: Pick, edges: readonly Pick[], options?: { queryP95Ms?: number; synthesisMsPerFile?: number; peakRssBytes?: number; previousNodeCount?: number; previousEdgeCount?: number; baseline?: ArkuiScaleBaseline; }): ArkuiScaleSnapshot; export declare function evaluateArkuiSyntheticScaleGate(scenarios: readonly ArkuiSyntheticScaleScenario[], baseline?: ArkuiScaleBaseline): ArkuiSyntheticScaleGate; //# sourceMappingURL=arkui-scale-baseline.d.ts.map