import type { LatticeConverters, Matrix3x3, Vec3 } from '../math'; import type { MeasureMode, Site } from './'; import type { Pbc } from './pbc'; type AngleMode = `degrees` | `radians`; export declare const MAX_SELECTED_SITES = 8; export declare const max_measured_sites: (mode: MeasureMode) => number; export declare const rolls_measured_sites: (mode: MeasureMode) => boolean; export declare function displacement_pbc(from: Vec3, to: Vec3, lattice_matrix: Matrix3x3 | null | undefined, converters?: LatticeConverters, pbc?: Pbc): Vec3; export declare function angle_between_vectors(v1: Vec3, v2: Vec3, mode?: AngleMode): number; export declare function pbc_chain_positions(positions: Vec3[], lattice_matrix: Matrix3x3 | null | undefined, pbc?: Pbc): Vec3[]; type DisplacementField = { vectors: Vec3[]; rmsd: number; max_displacement: number; }; export type DisplacementSummary = { rmsd: number; max_displacement: number; error: null; } | { rmsd?: undefined; max_displacement?: undefined; error: string; }; export declare function compute_displacements(reference_sites: Site[], current_sites: Site[], lattice_matrix: Matrix3x3 | null | undefined, pbc?: Pbc): DisplacementField; export declare function dihedral_angle(p1: Vec3, p2: Vec3, p3: Vec3, p4: Vec3, lattice_matrix: Matrix3x3 | null | undefined, pbc?: Pbc, mode?: AngleMode): number; export {};