import { type DiagnosticIdentityDocument, type DiagnosticIdentityProjection, type DiagnosticDeepReadonly, type DiagnosticReviewRuleEvaluation, type DiagnosticSourceLocation, type PreparedDiagnosticData, type CompactPreparedDiagnosticData, type CompactDiagnosticReviewEvaluations, type DiagnosticReviewPage } from "@actuarial-ts/core"; import { type DataCheck, type DataFinding, type DataReviewReport } from "./review.js"; export interface DiagnosticGroupingAssignment { readonly key: string; readonly group: string; readonly source?: DiagnosticSourceLocation; } export interface DiagnosticCachedFormulaEvidence { readonly id: string; readonly source?: DiagnosticSourceLocation; readonly formula?: string; readonly cachedValue?: number | null; readonly declaredFormulaSource: boolean; } export interface DiagnosticReviewEvidence { readonly groupingAssignments: readonly DiagnosticGroupingAssignment[]; readonly cachedFormulas: readonly DiagnosticCachedFormulaEvidence[]; } export interface DiagnosticReviewIdentityBody { readonly definitionIntegrity: string; readonly preparationFingerprint: string; readonly evidence: DiagnosticIdentityProjection | null; readonly checks: readonly { readonly id: string; readonly status: DataCheck["status"]; readonly findings: readonly DiagnosticIdentityProjection[]; }[]; readonly summary: DataReviewReport["summary"]; readonly evaluations: readonly DiagnosticIdentityProjection[]; } export interface DiagnosticReviewReceipt { readonly definitionIntegrity: string; readonly preparationFingerprint: string; readonly report: DiagnosticDeepReadonly; readonly evaluations: readonly DiagnosticReviewRuleEvaluation[]; readonly evidence: DiagnosticDeepReadonly | null; readonly identityBody: DiagnosticDeepReadonly; readonly reportFingerprint: string; } export interface ReviewPreparedDiagnosticDataInput { readonly prepared: PreparedDiagnosticData; readonly evidence: DiagnosticReviewEvidence | null; } export interface CompactDiagnosticReviewCheck { readonly id: string; readonly description: string; readonly status: DataCheck["status"]; readonly details: readonly string[]; readonly findingCount: number; } declare const compactFindingsBrand: unique symbol; export interface CompactDiagnosticReviewFindings { readonly [compactFindingsBrand]: true; readonly count: number; } export interface CompactDiagnosticReviewReceipt { readonly definitionIntegrity: string; readonly report: { readonly checks: readonly CompactDiagnosticReviewCheck[]; readonly summary: DiagnosticDeepReadonly; }; readonly evaluations: CompactDiagnosticReviewEvaluations; readonly findings: CompactDiagnosticReviewFindings; readonly evidence: DiagnosticDeepReadonly | null; } export interface ReviewPreparedDiagnosticDataCompactInput { readonly prepared: CompactPreparedDiagnosticData; readonly evidence: DiagnosticReviewEvidence | null; } /** Stable discovery for the actual source-review checks; no duplicated suite registry. */ export declare function listDiagnosticDataChecks(): readonly { readonly id: string; readonly description: string; readonly severity: "warning" | "fail"; }[]; export declare function validateDiagnosticReviewEvidence(value: unknown, root?: string): DiagnosticDeepReadonly; export declare function reviewPreparedDiagnosticData(input: ReviewPreparedDiagnosticDataInput): DiagnosticReviewReceipt; export declare function assertCompactDiagnosticReviewReceipt(value: unknown): asserts value is CompactDiagnosticReviewReceipt; export interface DiagnosticReviewFindingEntry { readonly index: number; readonly checkId: string; readonly finding: DiagnosticDeepReadonly; } type WithoutSources = T extends readonly (infer V)[] ? readonly WithoutSources[] : T extends object ? { readonly [K in keyof T as K extends "sources" ? "sourceCount" : K]: K extends "sources" ? number : WithoutSources; } : T; export interface DiagnosticReviewFindingSummary { readonly index: number; readonly checkId: string; readonly finding: WithoutSources; } export interface DiagnosticReviewFindingQuery { readonly checkId?: string; readonly offset?: number; readonly limit?: number; } export interface DiagnosticReviewFindingSourceQuery { readonly location?: "context" | "scope"; readonly offset?: number; readonly limit?: number; } export declare function getDiagnosticReviewFinding(store: CompactDiagnosticReviewFindings, index: number): DiagnosticReviewFindingEntry; /** Full ordered evidence, including every finding's source lists. */ export declare function iterateDiagnosticReviewFindings(store: CompactDiagnosticReviewFindings): IterableIterator; /** Summary pages never expand source lists, including high-fanout control totals. */ export declare function pageDiagnosticReviewFindings(store: CompactDiagnosticReviewFindings, query?: DiagnosticReviewFindingQuery): DiagnosticReviewPage; export declare function pageDiagnosticReviewFindingSources(store: CompactDiagnosticReviewFindings, index: number, query?: DiagnosticReviewFindingSourceQuery): DiagnosticReviewPage; /** Compact owner receipt; identity projection/hash are deliberately deferred. */ export declare function reviewPreparedDiagnosticDataCompact(input: ReviewPreparedDiagnosticDataCompactInput): CompactDiagnosticReviewReceipt; /** Exact legacy review identity, available only from an authentic immutable owner. */ export declare function getCompactDiagnosticReviewReceiptIdentityDocument(receipt: CompactDiagnosticReviewReceipt): DiagnosticIdentityDocument; /** Explicit evidence operation; caches only the small immutable-owner fingerprint. */ export declare function getCompactDiagnosticReviewReceiptFingerprint(receipt: CompactDiagnosticReviewReceipt): string; export {}; //# sourceMappingURL=diagnosticPreparedReview.d.ts.map