export declare module LocationUtility {
    function parseNMEA(sentence: any, unit: string): Object;
    function parseDTM(sentence: string, unit: string): DTM;
    function parseGBS(sentence: string, unit: string): GBS;
    function parseGGA(sentence: string, unit: string): GGA;
    function parseGLL(sentence: string, unit: string): GLL;
    function parseGLQ(sentence: string, unit: string): GLQ;
    function parseGNQ(sentence: string, unit: string): GNQ;
    function parseGNS(sentence: string, unit: string): GNS;
    function parseGPQ(sentence: string, unit: string): GPQ;
    function parseGRS(sentence: string, unit: string): GRS;
    function parseGSA(sentence: string, unit: string): GSA;
    function parseGST(sentence: string, unit: string): GST;
    function parseGSV(sentence: string, unit: string): GSV;
    function parseRMC(sentence: string, unit: string): RMC;
    function parseVTG(sentence: string, unit: string): VTG;
    function parseZDA(sentence: string, unit: string): ZDA;
    function convertAlt(altitude: string, unit: string): number;
    function DMToDD(latitudeDirection: string, latitude: string, longitudeDirection: string, longitude: string): DD;
    function DMLatToDD(latitudeDirection: string, latitude: string): number;
    function DMLongToDD(longitudeDirection: string, longitude: string): number;
    function horizontalAccuracy(latitudeError: number, longitudeError: number, unit: string): number;
    function DDLatToDMS(latitude: number): string;
    function DDLongToDMS(longitude: number): string;
    function calculateDMS(degrees: number): string;
    function DMSToDD(dms: string): number;
    function calculateDD(dmsArray: string[]): number;
    function calculateDistance(point1Latitude: number, point1Longitude: number, point2Latitude: number, point2Longitude: number, unit: string): number;
    interface DD {
        latitude: number;
        longitude: number;
    }
    interface DTM {
        type: string;
        datum: string;
        subDatum: string;
        latitudeOffset: number;
        latitudeDirection: string;
        longitudeOffset: number;
        longitudeDirection: string;
        altitudeOffset: number;
        refDatum: string;
    }
    interface GBS {
        type: string;
        time: number;
        latitudeError: number;
        longitudeError: number;
        altitudeError: number;
        failedSatelliteID: number;
        probability: number;
        bias: number;
        standardDeviationOfBias: number;
    }
    interface GGA {
        type: string;
        time: number;
        latitude: number;
        latitudeDirection: string;
        longitude: number;
        longitudeDirection: string;
        quality: number;
        satelliteCount: number;
        HDOP: number;
        altitude: number;
        altitudeUnits: string;
        GeoidSeparation: number;
        GeoidSeparationUnits: string;
        ageOfDifferential: number;
        ageOfDifferentialStation: number;
    }
    interface GLL {
        type: string;
        latitude: number;
        latitudeDirection: string;
        longitude: number;
        longitudeDirection: string;
        time: number;
        status: string;
        positionMode: string;
    }
    interface GLQ {
        type: string;
        messageID: string;
    }
    interface GNQ {
        type: string;
        messageID: string;
    }
    interface GNS {
        type: string;
        time: number;
        latitude: number;
        latitudeDirection: string;
        longitude: number;
        longitudeDirection: string;
        positionMode: string;
        satelliteCount: number;
        HDOP: number;
        altitude: number;
        GeoidSeparation: number;
        ageOfDifferential: number;
        ageOfDifferentialStation: number;
    }
    interface GPQ {
        type: string;
        messageID: string;
    }
    interface GRS {
        type: string;
        time: number;
        mode: number;
        residual: string | string[];
    }
    interface GSA {
        type: string;
        operationMode: string;
        navigationMode: number;
        satelliteNumber: string | string[];
        PDOP: number;
        HDOP: number;
        VDOP: number;
    }
    interface GST {
        type: string;
        time: number;
        rangeRMS: number;
        stdMajor: number;
        stdMinor: number;
        orientation: number;
        stdLatitudeError: number;
        stdLongitudeError: number;
        stdAltitudeError: number;
    }
    interface GSV {
        type: string;
        numberOfMessages: number;
        messageNumber: number;
        satellitesInView: number;
        satelliteIDs: string | string[];
        elevations: string | string[];
        azimuth: string | string[];
        signalStrengths: string | string[];
    }
    interface RMC {
        type: string;
        time: number;
        status: string;
        latitude: number;
        latitudeDirection: string;
        longitude: number;
        longitudeDirection: string;
        speed: number;
        course: number;
        date: number;
        magneticVariation: number;
        magneticVariationDirection: string;
        positionMode: string;
    }
    interface VTG {
        type: string;
        courseOverGround: number;
        fixedField: string;
        courseOverGroundMagnetic: number;
        fixedFieldMagnetic: string;
        speedOverGround: number;
        fixedFieldKnots: string;
        speedOverGroundMetric: number;
        fixedFieldKMH: string;
        positionMode: string;
    }
    interface ZDA {
        type: string;
        time: number;
        day: number;
        month: number;
        year: number;
        localTimeHours: number;
        localTimeMinutes: number;
    }
}
