import type { Matrix3x3, Point2D, Vec2, Vec3 } from '../math'; import type { Crystal } from '../structure'; import type { TooltipConfig, TooltipProp } from '../tooltip'; export type BZHoverData = { position_cartesian: Vec3; position_fractional: Vec3 | null; screen_position: Point2D; is_ibz: boolean; bz_order: number; bz_volume: number; ibz_volume: number | null; symmetry_multiplicity: number | null; }; export type BZTooltipConfig = TooltipConfig; export type BZTooltipProp = TooltipProp; type BZMeshData = { vertices: Vec3[]; faces: number[][]; edges: Vec3[][]; }; export type IrreducibleBZData = BZMeshData & { volume: number; }; export type BrillouinZoneData = BZMeshData & { order: number; k_lattice: Matrix3x3; volume: number; }; export type BrillouinZoneProps = { structure: Crystal; bz_order?: number; surface_color?: string; surface_opacity?: number; edge_color?: string; edge_width?: number; show_vectors?: boolean; }; export type ConvexHullData = Pick & { edges: Vec2[]; }; export {};