export interface UnityLazyContextMetrics { coldMs: number; warmMs: number; coldMaxRssBytes: number; warmMaxRssBytes: number; } export interface UnityLazyContextThresholds { coldMsMax?: number; warmMsMax?: number; coldMaxRssBytesMax?: number; warmMaxRssBytesMax?: number; } export interface UnityLazyThresholdVerdict { pass: boolean; checks: Record; } export interface UnitySizeLatency { summarySizeReductionPct: number; queryContextP95DeltaPct: number; pass: boolean; } export interface UnityLazyContextSample { durationMs: number; maxRssBytes: number; exitCode: number; stdout: string; stderr: string; hydrationMeta?: { requestedMode?: string; effectiveMode?: string; isComplete?: boolean; needsParityRetry?: boolean; }; } export interface UnityHydrationMetaSummary { compactSamples: number; paritySamples: number; compactNeedsRetryRate: number; parityCompleteRate: number; } export interface UnityLazyContextSamplerConfig { targetPath: string; repo: string; symbol: string; file: string; unityHydration?: 'compact' | 'parity'; thresholds?: UnityLazyContextThresholds; } export type UnityLazyContextRunner = (input: UnityLazyContextSamplerConfig & { warm: boolean; }) => Promise; export declare function evaluateUnityLazyContextThresholds(metrics: UnityLazyContextMetrics, thresholds?: UnityLazyContextThresholds): UnityLazyThresholdVerdict; export declare function runUnityLazyContextSampler(runner: UnityLazyContextRunner, config: UnityLazyContextSamplerConfig): Promise<{ capturedAt: string; config: Omit; metrics: UnityLazyContextMetrics; hydrationMetaSummary: UnityHydrationMetaSummary; sizeLatency: UnitySizeLatency; thresholdVerdict: UnityLazyThresholdVerdict; }>;