import { type ProfilePhaseModel, type ProfileSummaryModel } from './model.js'; import type { ProfileArtifactError } from './schema.js'; import type { ProfileCapture, ProfileResult } from './types.js'; export interface ProfileComparisonPhaseIdentity { readonly source: ProfilePhaseModel['source']; readonly phase: string; readonly parentSource?: ProfilePhaseModel['parentSource']; readonly parentPhase?: string; } export interface ProfileComparisonPhaseFact { readonly count: number; readonly skipCount: number; readonly p95DurationMicros: number | null; } export interface ProfileComparisonPhaseDelta { readonly count?: number; readonly skipCount?: number; readonly p95DurationMicros?: number; } export interface ProfileComparisonPhaseRow { readonly identity: ProfileComparisonPhaseIdentity; readonly left?: ProfileComparisonPhaseFact; readonly right?: ProfileComparisonPhaseFact; readonly delta?: ProfileComparisonPhaseDelta; } export interface ProfileComparisonSide { readonly summary: ProfileSummaryModel; readonly completeness: ProfileCapture['completeness']; } export interface ProfileComparisonProjection { readonly left: ProfileComparisonSide; readonly right: ProfileComparisonSide; readonly phases: readonly ProfileComparisonPhaseRow[]; } export type ProfileComparisonError = ProfileArtifactError & { readonly detail: ProfileArtifactError['detail'] & { readonly side: 'left' | 'right'; }; }; /** Compares two imported ProfileCapture artifacts without mutating either input. */ export declare function compareProfileCaptures(left: unknown, right: unknown): ProfileResult; //# sourceMappingURL=compare.d.ts.map