import type { CompositionType } from '../composition'; import { type Vec2, type Vec3 } from '../math'; import type { RadiationType } from '../scattering'; import type { RadiationKey } from './calc-xrd'; export * from './broadening'; export * from './calc-xrd'; export * from './parse'; export * from './saed'; export { default as SaedPattern } from './SaedPattern.svelte'; export { default as XrdPlot } from './XrdPlot.svelte'; export type Hkl = Vec3; export type HklObj = { hkl: Hkl; multiplicity?: number; }; export type RecipPoint = { hkl: Hkl; g_norm: number; }; export type HklFormat = `compact` | `full` | null; export declare function format_hkl(hkl: Hkl, format: HklFormat): string; export type XrdPattern = { x: number[]; y: number[]; hkls?: HklObj[][]; d_hkls?: number[]; }; export declare function decimate_pattern(pattern: XrdPattern, max_points: number): XrdPattern; export type XrdOptions = { wavelength?: number | RadiationKey; radiation?: RadiationType; accelerating_voltage?: number; debye_waller_factors?: CompositionType; scaled?: boolean; two_theta_range?: Vec2 | null; peak_merge_tol?: number; scaled_intensity_tol?: number; }; export type SaedSpot = { hkl: Hkl; position_2d: Vec2; intensity: number; laue_zone: number; d_spacing: number; excitation_error: number; }; export type SaedPatternData = { spots: SaedSpot[]; zone_axis: Vec3; wavelength: number; max_g: number; in_plane_basis: [Vec3, Vec3]; }; export type SaedOptions = { zone_axis?: Vec3; wavelength?: number; accelerating_voltage?: number; max_g?: number; crystal_thickness?: number; debye_waller_factors?: CompositionType; intensity_tol?: number; }; export interface PatternEntry { label: string; pattern: XrdPattern; color?: string; }