import { default as React } from 'react'; import { AstroChartHandle } from './AstroChart'; import { PowerChartData, AttitudeChartData, ThermalChartData, LinkBudgetChartData, ContactWindowData, SpectrumDataPoint, ManeuverBudgetData, EclipseTimelineData, ExportOptions, InfoTooltipOptions, CoverageGridData, WaterfallDataPoint, WaterfallSignalMarker, DopplerTrackPoint, SatellitePassInfo, LinkMarginPoint } from './types'; interface CommonChartProps { /** Export options */ export?: ExportOptions; /** Info tooltip */ infoTooltip?: InfoTooltipOptions; /** * Icon name to display in chart header (uses AstroIcon) * Shows before the chart title */ icon?: string; /** * Status for the header icon (shows as colored dot) * Uses AstroUXDS status colors */ iconStatus?: "off" | "standby" | "normal" | "caution" | "serious" | "critical"; /** * Status message shown on hover over the status icon */ statusMessage?: string; } export interface PowerChartProps extends CommonChartProps { /** Power data points (time in ms) */ data: PowerChartData[]; /** Chart title */ title?: string; /** Show legend */ showLegend?: boolean; /** Width */ width?: number | string; /** Height */ height?: number; /** Show eclipse shading */ showEclipse?: boolean; /** Loading state */ loading?: boolean; /** Enable zoom */ enableZoom?: boolean; /** Custom className */ className?: string; } export declare const PowerChart: React.MemoExoticComponent>>; export interface AttitudeChartProps extends CommonChartProps { /** Attitude data points (time in ms) */ data: AttitudeChartData[]; /** Chart title */ title?: string; /** Show legend */ showLegend?: boolean; /** Width */ width?: number | string; /** Height */ height?: number; /** Loading state */ loading?: boolean; /** Enable zoom */ enableZoom?: boolean; /** Show pointing error */ showError?: boolean; /** Show angular velocity */ showAngularVelocity?: boolean; /** Custom className */ className?: string; } export declare const AttitudeChart: React.MemoExoticComponent>>; export interface ThermalHeatmapChartProps extends CommonChartProps { /** Thermal data */ data: ThermalChartData[]; /** Zone names */ zones: string[]; /** Chart title */ title?: string; /** Width */ width?: number | string; /** Height */ height?: number; /** Temperature range */ range?: [number, number]; /** Loading state */ loading?: boolean; /** Custom className */ className?: string; } export declare const ThermalHeatmapChart: React.MemoExoticComponent>>; export interface LinkBudgetChartProps extends CommonChartProps { /** Link budget data */ data: LinkBudgetChartData[]; /** Chart title */ title?: string; /** Show legend */ showLegend?: boolean; /** Width */ width?: number | string; /** Height */ height?: number; /** Margin threshold (dB) */ marginThreshold?: number; /** Loading state */ loading?: boolean; /** Custom className */ className?: string; } export declare const LinkBudgetChart: React.MemoExoticComponent>>; export interface SubsystemGaugeProps extends CommonChartProps { /** Current value (0-100) */ value: number; /** Subsystem name */ name: string; /** Unit label */ unit?: string; /** Width */ width?: number | string; /** Height */ height?: number; /** Status thresholds */ thresholds?: { caution?: number; critical?: number; }; /** Loading state */ loading?: boolean; /** Custom className */ className?: string; } export declare const SubsystemGauge: React.MemoExoticComponent>>; export interface OrbitChartProps extends CommonChartProps { /** Orbit position data (angle in degrees, altitude in km) */ data: { angle: number; altitude: number; label?: string; }[]; /** Chart title */ title?: string; /** Reference altitude (nominal orbit) */ referenceAltitude?: number; /** Width */ width?: number | string; /** Height */ height?: number; /** Loading state */ loading?: boolean; /** Custom className */ className?: string; } export declare const OrbitChart: React.MemoExoticComponent>>; export interface ContactWindowChartProps extends CommonChartProps { /** Contact window data by ground station */ data: ContactWindowData[]; /** Chart title */ title?: string; /** Time range [start, end] in ms */ timeRange?: [number, number]; /** Width */ width?: number | string; /** Height */ height?: number; /** Loading state */ loading?: boolean; /** Enable zoom */ enableZoom?: boolean; /** Custom className */ className?: string; } export declare const ContactWindowChart: React.MemoExoticComponent>>; export interface SpectrumChartProps extends CommonChartProps { /** Spectrum data points */ data: SpectrumDataPoint[]; /** Chart title */ title?: string; /** Frequency range [min, max] */ frequencyRange?: [number, number]; /** Power range [min, max] dBm */ powerRange?: [number, number]; /** Noise floor level */ noiseFloor?: number; /** Width */ width?: number | string; /** Height */ height?: number; /** Loading state */ loading?: boolean; /** Custom className */ className?: string; } export declare const SpectrumChart: React.MemoExoticComponent>>; export interface ManeuverBudgetChartProps extends CommonChartProps { /** Maneuver budget data */ data: ManeuverBudgetData[]; /** Chart title */ title?: string; /** Total delta-V budget (for percentage) */ totalBudget?: number; /** Width */ width?: number | string; /** Height */ height?: number; /** Loading state */ loading?: boolean; /** Custom className */ className?: string; } export declare const ManeuverBudgetChart: React.MemoExoticComponent>>; export interface EclipseTimelineChartProps extends CommonChartProps { /** Eclipse timeline data */ data: EclipseTimelineData[]; /** Chart title */ title?: string; /** Time range [start, end] in ms */ timeRange?: [number, number]; /** Width */ width?: number | string; /** Height */ height?: number; /** Loading state */ loading?: boolean; /** Enable zoom */ enableZoom?: boolean; /** Custom className */ className?: string; } export declare const EclipseTimelineChart: React.MemoExoticComponent>>; export interface RoseDiagramProps extends CommonChartProps { /** Directional data (angle in degrees, magnitude) */ data: import('./types').RoseDiagramData[]; /** Chart title */ title?: string; /** Width */ width?: number | string; /** Height */ height?: number; /** Number of bins (sectors) */ bins?: number; /** Loading state */ loading?: boolean; /** Custom className */ className?: string; } export declare const RoseDiagram: React.MemoExoticComponent>>; export interface HeliocentricOrbitProps extends CommonChartProps { /** Orbital bodies/spacecraft data */ data: import('./types').HeliocentricOrbitData[]; /** Chart title */ title?: string; /** Width */ width?: number | string; /** Height */ height?: number; /** Show grid */ showGrid?: boolean; /** Enable zoom (scroll to zoom, drag to pan) */ enableZoom?: boolean; /** Show labels on bodies */ showLabels?: boolean; /** Visualization mode: 2D or 3D */ mode?: "2d" | "3d"; /** Loading state */ loading?: boolean; /** Custom className */ className?: string; /** Callback when body is clicked */ onBodyClick?: (body: import('./types').HeliocentricOrbitData) => void; } /** * HeliocentricOrbitPlot - Interactive 2D/3D orbit visualization * * Features: * - 2D mode: Classic ecliptic plane view with X/Y axes * - 3D mode: Full 3D visualization with rotation/zoom (requires echarts-gl) * - Interactive hover on both bodies and orbit lines * - Zoom/pan controls * - Body/orbit highlighting on hover */ export declare const HeliocentricOrbitPlot: React.MemoExoticComponent>>; export interface Scatter3DChartProps extends CommonChartProps { /** 3D scatter data series */ data: import('./types').Scatter3DData[]; /** Chart title */ title?: string; /** Chart width */ width?: number | string; /** Chart height */ height?: number; /** Show grid/axis */ showGrid?: boolean; /** X-axis label */ xAxisLabel?: string; /** Y-axis label */ yAxisLabel?: string; /** Z-axis label */ zAxisLabel?: string; /** Auto rotate */ autoRotate?: boolean; /** Loading state */ loading?: boolean; /** Custom className */ className?: string; } /** * Scatter3DChart - 3D scatter plot for constellation analysis, debris fields * * Perfect for visualizing: * - Satellite constellation distributions * - Space debris fields * - Multi-dimensional parameter spaces * - Position clustering analysis */ export declare const Scatter3DChart: React.MemoExoticComponent>>; export interface Bar3DChartProps extends CommonChartProps { /** 3D bar data */ data: import('./types').Bar3DData[]; /** Chart title */ title?: string; /** Chart width */ width?: number | string; /** Chart height */ height?: number; /** X-axis categories (or auto-derived) */ xCategories?: string[]; /** Y-axis categories (or auto-derived) */ yCategories?: string[]; /** X-axis label */ xAxisLabel?: string; /** Y-axis label */ yAxisLabel?: string; /** Z-axis label */ zAxisLabel?: string; /** Bar shading style */ shading?: "color" | "lambert" | "realistic"; /** Auto rotate */ autoRotate?: boolean; /** Loading state */ loading?: boolean; /** Custom className */ className?: string; } /** * Bar3DChart - 3D bar chart for multi-dimensional comparisons * * Perfect for visualizing: * - Telemetry comparisons across satellites * - Parameter variations over time * - Multi-subsystem status comparisons * - Resource allocation matrices */ export declare const Bar3DChart: React.MemoExoticComponent>>; export interface Surface3DChartProps extends CommonChartProps { /** Surface data (2D array or structured) */ data: import('./types').Surface3DData; /** Chart title */ title?: string; /** Chart width */ width?: number | string; /** Chart height */ height?: number; /** X-axis label */ xAxisLabel?: string; /** Y-axis label */ yAxisLabel?: string; /** Z-axis label */ zAxisLabel?: string; /** Surface shading style */ shading?: "color" | "lambert" | "realistic"; /** Auto rotate */ autoRotate?: boolean; /** Loading state */ loading?: boolean; /** Custom className */ className?: string; } /** * Surface3DChart - 3D surface visualization for continuous data * * Perfect for visualizing: * - Signal strength heatmaps over coverage areas * - Thermal distribution surfaces * - Terrain/topography models * - Radiation patterns */ export declare const Surface3DChart: React.MemoExoticComponent>>; export interface Lines3DChartProps extends CommonChartProps { /** 3D line paths */ data: import('./types').Lines3DData[]; /** Chart title */ title?: string; /** Chart width */ width?: number | string; /** Chart height */ height?: number; /** Show grid */ showGrid?: boolean; /** X-axis label */ xAxisLabel?: string; /** Y-axis label */ yAxisLabel?: string; /** Z-axis label */ zAxisLabel?: string; /** Show flow animation effect */ showFlowEffect?: boolean; /** Auto rotate */ autoRotate?: boolean; /** Loading state */ loading?: boolean; /** Custom className */ className?: string; } /** * Lines3DChart - 3D line paths for trajectories and connections * * Perfect for visualizing: * - Space debris trajectories * - Inter-satellite link networks * - Transfer orbit paths * - Multi-body trajectory visualization */ export declare const Lines3DChart: React.MemoExoticComponent>>; export interface SphericalRadar3DData { /** Object identifier */ id: string; /** Object name */ name: string; /** Azimuth angle (degrees, 0-360) */ azimuth: number; /** Elevation angle (degrees, -90 to 90) */ elevation: number; /** Range/distance */ range: number; /** Object category */ category?: "satellite" | "debris" | "unknown" | "friendly" | "hostile"; /** Color override */ color?: string; /** Size override */ size?: number; } export interface SphericalRadar3DChartProps extends CommonChartProps { /** Tracked objects */ data: SphericalRadar3DData[]; /** Chart title */ title?: string; /** Chart width */ width?: number | string; /** Chart height */ height?: number; /** Maximum range for scaling */ maxRange?: number; /** Show range rings */ showRangeRings?: boolean; /** Auto rotate */ autoRotate?: boolean; /** Loading state */ loading?: boolean; /** Custom className */ className?: string; } /** * SphericalRadar3DChart - 3D radar-style object tracking visualization * * USE CASES: * - Ground station tracking view (azimuth/elevation/range) * - Space surveillance radar displays * - Proximity operations around spacecraft * - Air/space traffic control visualization * - Collision avoidance monitoring */ export declare const SphericalRadar3DChart: React.MemoExoticComponent>>; export interface TransferOrbitSegment { id: string; name: string; path: Array<{ x: number; y: number; z: number; }>; type: "coast" | "burn" | "gravity-assist" | "spiral"; deltaV?: number; color?: string; } export interface TransferOrbitWaypoint { name: string; position: { x: number; y: number; z: number; }; type: "departure" | "arrival" | "flyby" | "node" | "burn"; deltaV?: number; tof?: number; } export interface TransferOrbit3DChartProps extends CommonChartProps { segments: TransferOrbitSegment[]; waypoints?: TransferOrbitWaypoint[]; referenceOrbits?: Array<{ name: string; path: Array<{ x: number; y: number; z: number; }>; color?: string; }>; title?: string; width?: number | string; height?: number; showDeltaV?: boolean; autoRotate?: boolean; loading?: boolean; className?: string; } /** * TransferOrbit3DChart - Interplanetary/orbital transfer visualization * * USE CASES: * - Hohmann transfer orbit planning * - Bi-elliptic transfer visualization * - Gravity assist trajectory design * - Low-thrust spiral maneuvers * - Lunar/Mars mission trajectory planning */ export declare const TransferOrbit3DChart: React.MemoExoticComponent>>; export interface AttitudeHistoryPoint { time: number; euler?: { roll: number; pitch: number; yaw: number; }; error?: number; mode?: string; } export interface AttitudeHistory3DChartProps extends CommonChartProps { data: AttitudeHistoryPoint[]; title?: string; width?: number | string; height?: number; mode?: "euler" | "pointing-error"; showModeTransitions?: boolean; autoRotate?: boolean; loading?: boolean; className?: string; } /** * AttitudeHistory3DChart - Spacecraft attitude evolution visualization * * USE CASES: * - Attitude maneuver visualization * - Tumbling/spin analysis * - Pointing stability assessment * - Safe mode recovery analysis * - Slew profile optimization */ export declare const AttitudeHistory3DChart: React.MemoExoticComponent>>; export interface ConjunctionEvent { id: string; primary: string; secondary: string; tca: number; missDistance: number; probability?: number; relativeVelocity?: number; position: { x: number; y: number; z: number; }; uncertainty?: { rx: number; ry: number; rz: number; }; } export interface ConjunctionAssessment3DChartProps extends CommonChartProps { events: ConjunctionEvent[]; primaryOrbit?: Array<{ x: number; y: number; z: number; }>; title?: string; width?: number | string; height?: number; showUncertainty?: boolean; warningThreshold?: number; criticalThreshold?: number; autoRotate?: boolean; loading?: boolean; className?: string; } /** * ConjunctionAssessment3DChart - Space object collision analysis * * USE CASES: * - Conjunction screening results visualization * - Collision avoidance maneuver planning * - Debris close approach monitoring * - Rendezvous safety analysis * - Formation flying separation monitoring */ export declare const ConjunctionAssessment3DChart: React.MemoExoticComponent>>; export interface LaunchCorridorData { corridors: Array<{ id: string; name: string; type: "nominal" | "abort" | "safety" | "exclusion"; groundFootprint: Array<{ lat: number; lon: number; }>; altitudeRange: [number, number]; color?: string; }>; trajectory?: Array<{ lat: number; lon: number; altitude: number; time?: number; }>; events?: Array<{ name: string; lat: number; lon: number; altitude: number; time?: number; }>; } export interface LaunchCorridor3DChartProps extends CommonChartProps { data: LaunchCorridorData; title?: string; width?: number | string; height?: number; showTrajectory?: boolean; autoRotate?: boolean; loading?: boolean; className?: string; } /** * LaunchCorridor3DChart - Launch/reentry corridor visualization * * USE CASES: * - Launch window planning * - Range safety corridor definition * - Abort trajectory visualization * - Reentry footprint prediction * - Debris fall zone analysis */ export declare const LaunchCorridor3DChart: React.MemoExoticComponent>>; export interface AntennaPattern3DData { name: string; pattern: Array<{ theta: number; phi: number; gain: number; }>; boresight?: { theta: number; phi: number; }; color?: string; } export interface AntennaPattern3DChartProps extends CommonChartProps { patterns: AntennaPattern3DData[]; title?: string; width?: number | string; height?: number; showScale?: boolean; minGain?: number; autoRotate?: boolean; loading?: boolean; className?: string; } /** * AntennaPattern3DChart - 3D antenna radiation pattern visualization * * USE CASES: * - Antenna gain pattern analysis * - Multi-beam satellite coverage * - Interference zone identification * - Link margin optimization * - Phased array beam steering visualization */ export declare const AntennaPattern3DChart: React.MemoExoticComponent>>; export interface WaterfallChartProps extends CommonChartProps { /** Waterfall data points */ data: WaterfallDataPoint[]; /** Chart title */ title?: string; /** Center frequency (Hz) */ centerFrequency?: number; /** Bandwidth (Hz) */ bandwidth?: number; /** FFT bins */ fftBins?: number; /** Color map: viridis, plasma, inferno, magma */ colorMap?: "viridis" | "plasma" | "inferno" | "magma"; /** Power range [min, max] in dBm */ powerRange?: [number, number]; /** Time window in seconds */ timeWindow?: number; /** Signal markers to highlight */ markers?: WaterfallSignalMarker[]; /** Show spectrum line above heatmap */ showSpectrum?: boolean; width?: number | string; height?: number; loading?: boolean; className?: string; } /** * WaterfallChart - RF spectrum waterfall/spectrogram display * * USE CASES: * - RF signal monitoring * - Interference detection * - Spectrum analysis * - Signal characterization */ export declare const WaterfallChart: React.MemoExoticComponent>>; export interface DopplerTrackChartProps extends CommonChartProps { /** Predicted Doppler track */ predicted: DopplerTrackPoint[]; /** Measured Doppler data (optional) */ measured?: DopplerTrackPoint[]; /** Carrier frequency (Hz) */ carrierFrequency?: number; /** Pass info */ passInfo?: SatellitePassInfo; /** Show residuals (predicted - measured) */ showResiduals?: boolean; /** Show elevation overlay */ showElevation?: boolean; title?: string; width?: number | string; height?: number; loading?: boolean; className?: string; } /** * DopplerTrackChart - Doppler shift tracking visualization * * USE CASES: * - Satellite pass tracking * - Signal acquisition validation * - Orbit determination * - Tracking residual analysis */ export declare const DopplerTrackChart: React.MemoExoticComponent>>; export interface LinkMarginChartProps extends CommonChartProps { /** Link margin data points */ data: LinkMarginPoint[]; /** Minimum acceptable margin (dB) */ minMargin: number; /** Show uplink, downlink, or both */ mode?: "uplink" | "downlink" | "both"; /** Show rain fade overlay */ showRainFade?: boolean; title?: string; width?: number | string; height?: number; loading?: boolean; className?: string; } /** * LinkMarginChart - Link budget margin visualization * * USE CASES: * - Link budget analysis * - Fade margin planning * - Antenna sizing decisions * - Coverage boundary analysis */ export declare const LinkMarginChart: React.MemoExoticComponent>>; export interface ConstellationCoverageChartProps extends CommonChartProps { /** Coverage grid data (lat × lon) */ data: CoverageGridData; /** Chart title */ title?: string; /** Coverage metric label */ metricLabel?: string; /** Coverage metric unit */ metricUnit?: string; /** Color map: viridis, jet, plasma, thermal */ colorMap?: "viridis" | "jet" | "plasma" | "thermal"; /** Value range [min, max] */ valueRange?: [number, number]; /** Show satellite positions */ satellites?: Array<{ name: string; lat: number; lon: number; color?: string; }>; /** Show ground stations */ groundStations?: Array<{ name: string; lat: number; lon: number; }>; width?: number | string; height?: number; loading?: boolean; className?: string; } /** * ConstellationCoverageChart - Global constellation coverage visualization * * USE CASES: * - Revisit time analysis * - Coverage gap identification * - Link budget mapping * - Latency analysis for LEO constellations * - Service availability assessment */ export declare const ConstellationCoverageChart: React.MemoExoticComponent>>; export interface ConjunctionChartProps extends CommonChartProps { /** Conjunction events */ events: ConjunctionEvent[]; /** Time range [start, end] in ms */ timeRange?: [number, number]; /** Miss distance threshold for warning (km) */ warningThreshold?: number; /** Miss distance threshold for critical (km) */ criticalThreshold?: number; /** Minimum probability to display */ minProbability?: number; /** Show probability on secondary axis */ showProbability?: boolean; title?: string; width?: number | string; height?: number; loading?: boolean; className?: string; } /** * ConjunctionChart - 2D conjunction/collision assessment timeline * * USE CASES: * - Conjunction screening timeline * - Collision avoidance decision support * - Debris close approach history * - Maneuver planning trigger assessment */ export declare const ConjunctionChart: React.MemoExoticComponent>>; export {};