import type { Matrix3x3, Vec3 } from '../math'; import type { MoyoDataset } from '@spglib/moyo-wasm'; export declare const SYM_ELEM_KINDS: readonly ["rotation", "screw", "rotoinversion", "mirror", "glide", "inversion"]; type SymmetryElementKind = (typeof SYM_ELEM_KINDS)[number]; export type SymmetryElement = { kind: SymmetryElementKind; order: number; label: string; axis: Vec3 | null; point: Vec3; translation: Vec3 | null; locus: string; }; export type ShowSymmetryKinds = Partial>; export declare const DEFAULT_SHOW_SYM_KINDS: ShowSymmetryKinds; export declare const SYM_ELEMENTS_INPUT_FRAME_NOTE = "Symmetry elements are drawn only in the original (input) cell"; export declare const SYM_ELEM_COLORS: { axis_by_order: Record; mirror: string; glide: string; inversion: string; }; export declare const SYM_ELEM_KIND_INFO: Record; export declare function count_symmetry_elements(elements: readonly SymmetryElement[]): Partial>; export declare const has_visible_symmetry_overlay: (elements: readonly SymmetryElement[], show_kinds?: ShowSymmetryKinds) => boolean; export declare const mat3_from_flat_col_major: (flat: readonly number[]) => Matrix3x3; export declare function classify_symmetry_op(rotation: readonly number[], translation: readonly number[], centerings?: readonly Vec3[]): SymmetryElement | null; export declare function symmetry_elements_from_ops(operations: MoyoDataset[`operations`]): SymmetryElement[]; export declare function dash_segments(length: number, dash: number, gap: number): { center: number; length: number; }[]; export declare const frac_to_cart_direction: (frac: Vec3, lattice: Matrix3x3) => Vec3; export declare function clip_line_to_cell(point: Vec3, direction: Vec3, lattice: Matrix3x3): [Vec3, Vec3] | null; export declare function clip_plane_to_cell(point: Vec3, normal_frac: Vec3, lattice: Matrix3x3): Vec3[]; export {};