import { RtcmMessage } from '../../rtcm'; import { constructPropertiesKey, constructWithProperties, constructWithPropertiesPlus } from '../../utils'; export declare enum GpsL1CodeIndicator { CA_CODE = 0, P_Y_CODE_DIRECT = 1 } export declare enum GpsL2CodeIndicator { CA_L2C_CODE = 0, P_Y_CODE_DIRECT = 1, P_Y_CODE_CROSS_CORRELATED = 2, CORRELATED_P_Y = 3 } export declare abstract class RtcmMessageGpsObservations extends RtcmMessage { referenceStationId: number; gpsEpochTime: number; synchronousGnss: boolean; private _satelliteCount; divergenceFreeSmoothing: boolean; smoothingInterval: number; } export declare abstract class GpsObservationsData { static construct: typeof constructWithPropertiesPlus; } export declare class GpsL1ObservationsData extends GpsObservationsData { static [constructPropertiesKey]: (exclude: 'lockTimeMillis' | 'lockTimeIndicator') => { lockTimeIndicator: number; } | { lockTimeMillis: number; }; codeIndicator: GpsL1CodeIndicator; pseudorange: number; phaserangePseudorangeDiff: number; lockTimeIndicator: number; get lockTimeMillis(): number; set lockTimeMillis(time: number); } export declare class GpsL1ObservationsExtendedData extends GpsL1ObservationsData { static [constructPropertiesKey]: (exclude: 'lockTimeMillis' | 'lockTimeIndicator' | 'pseudorangeModulusAmbiguity' | 'totalPseudorangeMeters') => ({ lockTimeIndicator: number; } | { lockTimeMillis: number; }) & { pseudorangeModulusAmbiguity: number; }; pseudorangeModulusAmbiguity: number; cnr: number; get totalPseudorangeMeters(): number; set totalPseudorangeMeters(pseudorange: number); } export declare class GpsL2ObservationsData extends GpsObservationsData { static [constructPropertiesKey]: (exclude: 'lockTimeMillis' | 'lockTimeIndicator') => { lockTimeIndicator: number; } | { lockTimeMillis: number; }; codeIndicator: GpsL2CodeIndicator; pseudorangeDiff: number; phaserangePseudorangeDiff: number; lockTimeIndicator: number; get lockTimeMillis(): number; set lockTimeMillis(time: number); } export declare class GpsL2ObservationsExtendedData extends GpsL2ObservationsData { cnr: number; } export declare class GpsObservationsSatelliteData { satelliteId: number; static construct: typeof constructWithProperties; } export declare class GpsL1ObservationsSatelliteData extends GpsObservationsSatelliteData { l1: GpsL1ObservationsData; } export declare class GpsL1ObservationsExtendedSatelliteData extends GpsObservationsSatelliteData { l1: GpsL1ObservationsExtendedData; } export declare class GpsL1L2ObservationsSatelliteData extends GpsObservationsSatelliteData { l1: GpsL1ObservationsData; l2: GpsL2ObservationsData; toL1Only(): GpsL1ObservationsSatelliteData; } export declare class GpsL1L2ObservationsExtendedSatelliteData extends GpsObservationsSatelliteData { l1: GpsL1ObservationsExtendedData; l2: GpsL2ObservationsExtendedData; toL1Only(): GpsL1ObservationsExtendedSatelliteData; } export declare class RtcmMessageGpsL1Observations extends RtcmMessageGpsObservations { satellites: GpsL1ObservationsSatelliteData[]; } export declare class RtcmMessageGpsL1ObservationsExtended extends RtcmMessageGpsObservations { satellites: GpsL1ObservationsExtendedSatelliteData[]; } export declare class RtcmMessageGpsL1L2Observations extends RtcmMessageGpsObservations { satellites: GpsL1L2ObservationsSatelliteData[]; toL1Only(): RtcmMessageGpsL1Observations; } export declare class RtcmMessageGpsL1L2ObservationsExtended extends RtcmMessageGpsObservations { satellites: GpsL1L2ObservationsExtendedSatelliteData[]; toL1Only(): RtcmMessageGpsL1ObservationsExtended; }