import { IMpvPositionContent } from "../../../../../schema-definitions/vehicle-positions/interfaces/IMpvMessageInterfaces";
import { BaseTransformation, ITransformation } from "@golemio/core/dist/integration-engine/transformations";
import { Moment } from "@golemio/core/dist/shared/moment-timezone";
import { ITransformationElement, ITransformationResult } from "../interfaces/TransformationInterfaces";
export declare class MpvMessageTransformation extends BaseTransformation implements ITransformation {
    private static ORIGIN_TIME_FORMAT;
    name: string;
    private config;
    private skipAgencyNames;
    constructor();
    /**
     * Overrides BaseTransformation::transform
     */
    transform: (data: IMpvPositionContent | IMpvPositionContent[]) => Promise<ITransformationResult>;
    protected transformElement: (element: IMpvPositionContent) => Promise<ITransformationElement | null>;
    /**
     * Deduce UTC timestamp of start of trip and UTC timestamp of current position
     *
     * @param {any} firstStopXML - parsed object of first stop
     * @param {string} positionTimestampXML - XML attribute of local timestamp of position (HH:mm:ss)
     * @returns {{ startTimestamp: Moment; positionTimestamp: Moment }}
     */
    protected deduceTimestamps: (firstStopXML: any, positionTimestampXML: string) => Promise<{
        startTimestamp: Moment;
        positionTimestamp: Moment;
    }>;
    /**
     * Returns -1 if start hour is 12-23 and now is 0-12, 1 if start hour is 18-23 and now 0-6, else 0
     *
     * @param {Moment} now - Moment of position
     * @param {Moment} start - Moment of start of trip
     * @returns {number}
     */
    private checkMidnight;
    private isBlacklistedAgency;
    /**
     * Fix source negative bearing value due to overflow by adding 256
     *
     * @param {number} bearing
     * @returns {number}
     */
    private fixSourceNegativeBearing;
    /**
     * Format input stop id from DPP agency (XXX000Y to XXX/Y) to ASW id
     *
     * @param {string} stopId
     * @returns {stringList}
     */
    private formatASWStopId;
}
