export interface TurnMessage { band: number; az: number; sourceIp: string; } export interface TurnMessageHandler { handleTurnMessage(msg: TurnMessage): void; } export interface ClientConfig { ip: string; bands: number[]; } export type Config = Record; export interface DynamicData { adc: number | null; azimuth: number | null; status: number | null; } export interface InitData { azShift: number | null; azRange: number | null; antRadiationAngle: number | null; antName: string | null; mapUrl: string | null; mac: string | null; elevation: number | null; } export interface Setpoint { targetAz: number; sourceIp: string; } export interface ClientState { initData: InitData; bands: number[]; setpoint?: Setpoint; } export type InitialState = Record;