import { type ExactValue } from '../coxeter/exact.js'; import { ModelSet, type ExactHalfspace, type ModelPoint, type WindowBoundaryPolicy } from './model-set.js'; export type AKNCoefficients = readonly [bigint, bigint, bigint, bigint, bigint, bigint]; export type AKNPhasonOffset = readonly [ExactValue, ExactValue, ExactValue]; export interface AKNModelSetOptions { boundaryPolicy?: WindowBoundaryPolicy; /** Exact internal translation in seventh-coordinate units. */ phasonOffsetSevenths?: AKNPhasonOffset; } /** * Thirty exact supporting halfspaces of the projected six-cube. Each pair * of the six generator zones supplies one rhombic face pair. */ export declare function aknWindowHalfspaces(): readonly ExactHalfspace[]; /** * Primitive six-dimensional Ammann–Kramer–Neri icosahedral model set. * The fully symmetric centered cut is singular, so its canonical default * explicitly includes the closed triacontahedral boundary. */ export declare function createAKNModelSet(options?: WindowBoundaryPolicy | AKNModelSetOptions): ModelSet; /** 120-degree coordinate cycle, an exact icosahedral threefold symmetry. */ export declare function aknRotate3([n0, n1, n2, n3, n4, n5]: AKNCoefficients): AKNCoefficients; /** 72-degree rotation about one golden axis, as a signed provenance permutation. */ export declare function aknRotate5([n0, n1, n2, n3, n4, n5]: AKNCoefficients): AKNCoefficients; export interface AKNPatchOptions { /** Inclusive coefficient radius; 2 means 5^6 candidates. Default 2. */ coefficientRadius?: number; /** Radial crop in the unnormalized golden-axis coordinates. Default 6. */ physicalRadius?: number; /** Exact internal translation in seventh-coordinate units. */ phasonOffsetSevenths?: AKNPhasonOffset; boundaryPolicy?: WindowBoundaryPolicy; } export interface AKNPatch { readonly points: readonly ModelPoint[]; readonly edges: Uint32Array; readonly boundaryCount: number; readonly candidateCount: number; } /** * A finite radial patch of the AKN vertex set and its six edge directions. * * @param options - Coefficient bound, physical crop, phason, and boundary policy. */ export declare function aknPatch(options?: AKNPatchOptions): AKNPatch; /** Natural edge length in the exact golden-axis coordinates. */ export declare const aknEdgeLength: number; //# sourceMappingURL=akn.d.ts.map