import type { CrossfireFrame } from "../frame"; import { UnsupportedOrInvalid } from "./unsupported-or-invalid"; import { GPS } from "./gps"; import { GPSTime } from "./gps-time"; import { GPSExtended } from "./gps-extended"; import { VariometerSensor } from "./variometer-sensor"; import { BatterySensor } from "./battery-sensor"; import { BarometricAltitudeVerticalSpeed } from "./barometric-altitude-vertical-speed"; import { Airspeed } from "./airspeed"; import { Heartbeat } from "./heartbeat"; import { RMP } from "./rpm"; import { Temp } from "./temp"; import { Voltages } from "./voltages"; import { Discontinued } from "./discontinued"; import { VTXTelemetry } from "./vtx-telemetry"; import { Barometer } from "./barometer"; import { Magnetometer } from "./magnetometer"; import { AccelGyro } from "./accel-gyro"; import { LinkStatistics } from "./link-statistics"; import { RCChannelsPacked } from "./rc-channels-packed"; import { SubsetRCChannelsPacked } from "./subset-rc-channels-packed"; import { RCChannelsPacked11Bits } from "./rc-channels-packed-11-bits"; import { ReservedCrossfire0 } from "./reserved-crossfire-0"; import { ReservedCrossfire1 } from "./reserved-crossfire-1"; import { ReservedCrossfire2 } from "./reserved-crossfire-2"; import { LinkStatisticsRx } from "./link-statistics-rx"; import { LinkStatisticsTx } from "./link-statistics-tx"; import { Attitude } from "./attitude"; import { MavLinkFC } from "./mav-link-fc"; import { FlightMode } from "./flight-mode"; import { EspNowMessage } from "./esp-now-message"; import { Reserved } from "./reserved"; /** All possible Crossfire frame variants */ export type CrossfireFrameVariant = UnsupportedOrInvalid | GPS | GPSTime | GPSExtended | VariometerSensor | BatterySensor | BarometricAltitudeVerticalSpeed | Airspeed | Heartbeat | RMP | Temp | Voltages | Discontinued | VTXTelemetry | Barometer | Magnetometer | AccelGyro | LinkStatistics | RCChannelsPacked | SubsetRCChannelsPacked | RCChannelsPacked11Bits | ReservedCrossfire0 | ReservedCrossfire1 | ReservedCrossfire2 | LinkStatisticsRx | LinkStatisticsTx | Attitude | MavLinkFC | FlightMode | EspNowMessage | Reserved; /** * Get the appropriate frame variant based on the frame type. * The returned type can be used within switch statement to narrow down the type. * * @example * ```ts * const variant = getFrameVariant(frame); * switch (variant.frameType) { * case FRAME_TYPE.GPS: * // variant is of type GPS here * break; * */ export declare const getFrameVariant: (frame: CrossfireFrame) => CrossfireFrameVariant; export { UnsupportedOrInvalid, GPS, GPSTime, GPSExtended, VariometerSensor, BatterySensor, BarometricAltitudeVerticalSpeed, Airspeed, Heartbeat, RMP, Temp, Voltages, Discontinued, VTXTelemetry, Barometer, Magnetometer, AccelGyro, LinkStatistics, RCChannelsPacked, SubsetRCChannelsPacked, RCChannelsPacked11Bits, ReservedCrossfire0, ReservedCrossfire1, ReservedCrossfire2, LinkStatisticsRx, LinkStatisticsTx, Attitude, MavLinkFC, FlightMode, EspNowMessage, Reserved, }; /** * Internal types and utilities for Crossfire frame variants * Should only be used when creating new frame variants or using `getFrameVariantExtended` * */ export { type InternalCrossfireFrameVariant, type InternalCrossfireFrameVariantInstance, staticImplements, } from "../util"; //# sourceMappingURL=index.d.ts.map