@tak-ps/etl
    Preparing search index...

    Variable OutgoingMessageConst

    OutgoingMessage: TUnion<
        [
            TObject<
                {
                    geojson: TObject<
                        {
                            geometry: TUnion<
                                [
                                    TObject<{ coordinates: TArray<(...)>; type: TLiteral<(...)> }>,
                                    TObject<{ coordinates: TArray<(...)>; type: TLiteral<(...)> }>,
                                    TObject<{ coordinates: TArray<(...)>; type: TLiteral<(...)> }>,
                                ],
                            >;
                            id: TString;
                            path: TOptional<TString>;
                            properties: TObject<
                                {
                                    ackrequest: TOptional<
                                        TObject<{ ackrequested: ...; tag: ...; uid: ... }>,
                                    >;
                                    archived: TOptional<TBoolean>;
                                    attachments: TOptional<TArray<TString>>;
                                    bearing: TOptional<TNumber>;
                                    biosensordetail: TOptional<
                                        TObject<{ measurement: ...; sensor_data: ... }>,
                                    >;
                                    callsign: TString;
                                    center: TArray<TNumber>;
                                    chat: TOptional<
                                        TObject<
                                            {
                                                chatgrp: ...;
                                                chatroom: ...;
                                                groupOwner: ...;
                                                id: ...;
                                                messageId: ...;
                                                parent: ...;
                                                senderCallsign: ...;
                                            },
                                        >,
                                    >;
                                    chemsensordetail: TOptional<
                                        TObject<{ detection: ...; sensor_data: ... }>,
                                    >;
                                    contact: TOptional<
                                        TObject<{ callsign: ...; endpoint: ...; name: ...; phone: ... }>,
                                    >;
                                    course: TOptional<TNumber>;
                                    creator: TOptional<
                                        TObject<{ callsign: ...; time: ...; type: ...; uid: ... }>,
                                    >;
                                    dest: TOptional<TUnion<[(...), (...)]>>;
                                    droid: TOptional<TString>;
                                    fileshare: TOptional<
                                        TObject<
                                            {
                                                filename: ...;
                                                name: ...;
                                                senderCallsign: ...;
                                                senderUid: ...;
                                                senderUrl: ...;
                                                sha256: ...;
                                                sizeInBytes: ...;
                                            },
                                        >,
                                    >;
                                    fill: TOptional<TString>;
                                    "fill-opacity": TOptional<TNumber>;
                                    flow: TOptional<TRecord<TString, TString>>;
                                    forcedelete: TOptional<TBoolean>;
                                    geofence: TOptional<
                                        TObject<
                                            {
                                                boundingSphere: ...;
                                                elevationMonitored: ...;
                                                maxElevation: ...;
                                                minElevation: ...;
                                                monitor: ...;
                                                tracking: ...;
                                                trigger: ...;
                                            },
                                        >,
                                    >;
                                    group: TOptional<TObject<{ name: ...; role: ... }>>;
                                    how: TString;
                                    icon: TOptional<TString>;
                                    labels: TOptional<TBoolean>;
                                    links: TOptional<TArray<TObject<(...)>>>;
                                    "marker-color": TOptional<TString>;
                                    "marker-opacity": TOptional<TNumber>;
                                    marti_archive: TOptional<TBoolean>;
                                    maxzoom: TOptional<TNumber>;
                                    metadata: TOptional<TRecord<TString, TUnknown>>;
                                    milicon: TOptional<TObject<{ id: ... }>>;
                                    milsym: TOptional<TObject<{ id: ... }>>;
                                    minzoom: TOptional<TNumber>;
                                    mission: TOptional<
                                        TObject<
                                            {
                                                authorUid: ...;
                                                guid: ...;
                                                missionChanges: ...;
                                                missionLayer: ...;
                                                name: ...;
                                                tool: ...;
                                                type: ...;
                                            },
                                        >,
                                    >;
                                    precisionlocation: TOptional<
                                        TObject<{ altsrc: ...; geopointsrc: ... }>,
                                    >;
                                    radsensordetail: TOptional<
                                        TObject<
                                            {
                                                command_permissions: ...;
                                                data_permissions: ...;
                                                isotope: ...;
                                                physical_module: ...;
                                                radmeasurement: ...;
                                                search_algorithm: ...;
                                                sensor_data: ...;
                                                spectrum: ...;
                                            },
                                        >,
                                    >;
                                    range: TOptional<TNumber>;
                                    remarks: TOptional<TString>;
                                    rotate: TOptional<TBoolean>;
                                    sensor: TOptional<
                                        TObject<
                                            {
                                                azimuth: ...;
                                                displayMagneticReference: ...;
                                                elevation: ...;
                                                fov: ...;
                                                fovAlpha: ...;
                                                fovBlue: ...;
                                                fovGreen: ...;
                                                fovRed: ...;
                                                hideFov: ...;
                                                model: ...;
                                                north: ...;
                                                range: ...;
                                                rangeLines: ...;
                                                rangeLineStrokeColor: ...;
                                                rangeLineStrokeWeight: ...;
                                                roll: ...;
                                                strokeColor: ...;
                                                strokeWeight: ...;
                                                type: ...;
                                                version: ...;
                                                vfov: ...;
                                            },
                                        >,
                                    >;
                                    shape: TOptional<TObject<{ ellipse: ... }>>;
                                    slope: TOptional<TNumber>;
                                    spatial: TOptional<
                                        TObject<{ attitude: ...; spin: ...; version: ... }>,
                                    >;
                                    speed: TOptional<TNumber>;
                                    stale: TString;
                                    start: TString;
                                    status: TOptional<TObject<{ battery: ...; readiness: ... }>>;
                                    stroke: TOptional<TString>;
                                    "stroke-opacity": TOptional<TNumber>;
                                    "stroke-style": TOptional<TString>;
                                    "stroke-width": TOptional<TNumber>;
                                    takv: TOptional<
                                        TObject<{ device: ...; os: ...; platform: ...; version: ... }>,
                                    >;
                                    time: TString;
                                    track: TOptional<
                                        TObject<
                                            {
                                                course: ...;
                                                eCourse: ...;
                                                eSlope: ...;
                                                eSpeed: ...;
                                                slope: ...;
                                                speed: ...;
                                            },
                                        >,
                                    >;
                                    type: TString;
                                    video: TOptional<
                                        TObject<
                                            { connection: ...; sensor: ...; spi: ...; uid: ...; url: ... },
                                        >,
                                    >;
                                },
                            >;
                            type: TLiteral<"Feature">;
                        },
                    >;
                    type: TLiteral<Feature>;
                    xml: TString;
                },
            >,
            TObject<
                {
                    action: TEnum<typeof OutgoingAction>;
                    channels: TArray<TInteger>;
                    data: TRecord<TString, TUnknown>;
                    type: TLiteral<Event>;
                },
            >,
            TObject<
                {
                    action: TEnum<typeof OutgoingAction>;
                    channels: TArray<TInteger>;
                    data: TRecord<TString, TUnknown>;
                    type: TLiteral<Device>;
                },
            >,
        ],
    > = ...