import type { Vec3 } from '../math'; import type { Crystal } from '../structure'; import { type TrajectoryRun } from '../trajectory'; import type { Complex, PhononBandStructure, PhononModeData, PhononModeSelection } from './types'; interface PhononModeTrajectoryOptions { amplitude?: number; supercell?: Vec3; n_frames?: number; vector_key?: string; } export interface PhononSupercell { data: PhononModeData; scaling: Vec3; structure: Crystal; atom_idx: Uint32Array; cell_position: Float64Array; } export interface PhononModePattern { supercell: PhononSupercell; selection: PhononModeSelection; frequency: number; q_position: Vec3; displacements: Float64Array; is_commensurate: boolean; } export declare const DEFAULT_PHONON_AMPLITUDE = 0.3; export declare const DEFAULT_PHONON_SUPERCELL: Vec3; export declare const DEFAULT_PHONON_FRAMES = 48; export declare const DEFAULT_PHONON_FPS = 24; export declare const DEFAULT_PHONON_SHOW_VECTORS = false; export declare const PHONON_VECTOR_KEY = "phonon_displacement"; export declare const MAX_PHONON_SUPERCELL_SITES = 200000; export declare function default_phonon_mode_selection(data: PhononModeData): PhononModeSelection | undefined; export declare function phonon_band_structure_from_modes(data: PhononModeData): PhononBandStructure; export declare function is_commensurate_phonon_supercell(q_position: Vec3, supercell: Vec3, tolerance?: number): boolean; export declare function phonon_mode_character(data: PhononModeData, eigenvector: Complex[][]): { element_weights: [string, number][]; participation_ratio: number; }; export declare function phonon_supercell(data: PhononModeData, supercell?: Vec3): PhononSupercell; export declare function phonon_mode_pattern(supercell: PhononSupercell, selection: PhononModeSelection): PhononModePattern; export declare function phonon_mode_run(pattern: PhononModePattern, options?: Omit): TrajectoryRun; export declare function phonon_mode_trajectory(data: PhononModeData, selection: PhononModeSelection, options?: PhononModeTrajectoryOptions): TrajectoryRun; export {};