import { type ExactValue } from '../coxeter/exact.js'; import { ModelSet, type ModelPoint, type WindowBoundaryPolicy } from './model-set.js'; export type AmmannBeenkerCoefficients = readonly [bigint, bigint, bigint, bigint]; export type AmmannBeenkerPhasonOffset = readonly [ExactValue, ExactValue]; export interface AmmannBeenkerModelSetOptions { boundaryPolicy?: WindowBoundaryPolicy; /** Exact internal offset in quarter-coordinate units. Default zero. */ phasonOffsetQuarters?: AmmannBeenkerPhasonOffset; } /** Canonical Z[zeta_8] Ammann–Beenker model set with a unit-edge octagonal window. */ export declare function createAmmannBeenkerModelSet(options?: WindowBoundaryPolicy | AmmannBeenkerModelSetOptions): ModelSet; /** Multiplication by zeta_8: exact 45-degree rotation of lattice provenance. */ export declare function ammannBeenkerRotate45([n0, n1, n2, n3]: AmmannBeenkerCoefficients): AmmannBeenkerCoefficients; /** * Silver-mean inflation. In physical space this multiplies by 1+sqrt2; * in internal space its star image multiplies by 1-sqrt2. */ export declare function ammannBeenkerInflate([n0, n1, n2, n3]: AmmannBeenkerCoefficients): AmmannBeenkerCoefficients; export interface AmmannBeenkerPatchOptions { /** Inclusive lattice coefficient radius. Default 6. */ coefficientRadius?: number; /** Euclidean radius in standard unit-edge physical coordinates. Default 8. */ physicalRadius?: number; /** Exact internal offset in quarter-coordinate units. Default zero. */ phasonOffsetQuarters?: AmmannBeenkerPhasonOffset; } export interface AmmannBeenkerPatch { readonly points: readonly ModelPoint[]; /** Tiling edges between accepted points whose provenance differs by one basis vector. */ readonly edges: Uint32Array; readonly boundaryCount: number; readonly candidateCount: number; } /** * A radial finite patch of the canonical Ammann–Beenker vertex set. * * @param options - Coefficient bound, physical crop, and exact phason offset. */ export declare function ammannBeenkerPatch(options?: AmmannBeenkerPatchOptions): AmmannBeenkerPatch; /** Exact silver-mean factors, exposed for invariant checks and dynamics. */ export declare const ammannBeenkerInflationFactors: { readonly parallel: ExactValue; readonly perpendicular: ExactValue; }; //# sourceMappingURL=ammann-beenker.d.ts.map