import { VecN } from '../math/vecn.js'; import type { RepresentationLineageN, RepresentationMapRecipeN } from './map.js'; export type RepresentationLineagePointFailureReason = 'outside-domain' | 'recipe-insufficient' | 'record-required'; export type RepresentationLineageEvidenceValue = string | number | boolean | readonly number[]; export interface RepresentationLineagePointStepN { readonly stepIndex: number; readonly recipeKind: RepresentationMapRecipeN['kind']; readonly kind: 'exact' | 'unavailable'; readonly point?: readonly number[]; readonly details?: Readonly>; } export interface ExactRepresentationLineagePointN { readonly kind: 'exact'; readonly point: VecN; readonly steps: readonly RepresentationLineagePointStepN[]; } export interface UnavailableRepresentationLineagePointN { readonly kind: 'unavailable'; readonly reason: RepresentationLineagePointFailureReason; readonly failedStep: number; /** Last exact point before the failed operation. */ readonly point: VecN; readonly steps: readonly RepresentationLineagePointStepN[]; } export type RepresentationLineagePointEvaluationN = ExactRepresentationLineagePointN | UnavailableRepresentationLineagePointN; export interface RepresentationLineagePointEvaluationOptions { /** Scale-relative affine-domain tolerance. Default `1e-9`. */ readonly tolerance?: number; } /** * Evaluate one source point through the point-action encoded by a lineage. * * Only recipe kinds carrying sufficient point mathematics are evaluated. A * field realization or custom projection returns typed unavailability rather * than delegating to renderer state or guessing an implementation. */ export declare function evaluateRepresentationLineagePointN(lineage: RepresentationLineageN, sourcePoint: VecN | ArrayLike, options?: RepresentationLineagePointEvaluationOptions): RepresentationLineagePointEvaluationN; //# sourceMappingURL=lineage-evaluation.d.ts.map