import { RopidGTFSTripsModel } from "../../../../ropid-gtfs/RopidGTFSTripsModel";
import { IComputationTrip } from "../interfaces/VPInterfaces";
export declare class DelayComputationManager {
    private readonly gtfsTripsRepository;
    private METRO_TRIP_PREFIX_REGEX;
    private stepBetweenPoints;
    private stepBetweenPointsforMetro;
    constructor(gtfsTripsRepository: RopidGTFSTripsModel);
    /**
     * Return shape anchor points along trip track shape with stop times parameters
     *
     * @param {string} tripId - Internal DB trip id
     * @returns {IComputationTrip} - Result with shape anchor points
     */
    getComputationObject(tripId: string): Promise<IComputationTrip | null>;
    private roundToDecimals;
    private shouldReadCoordsFromPrevPoint;
    private setupBearingBetweenPoints;
    private shapePointCompareDistance;
    /**
     * Return geometry of anchor points with distance from start along trip track shape
     *
     * @param {string} shapeId - GTFS shape id
     * @param {ITransformedTripShape[]} shapes - GTFS shape points
     * @param {IStopTime[]} stops
     * @returns {IShapeGeometryAnchorPoint[]} - Result array of geometry points along trip track shape
     */
    private getShapesGeometryAnchorPoints;
    private getAnchorPointProps;
    /**
     * Generate new shape points from segment of trip shape along original one
     *   - preserving start and end shape points belonging to stops
     *   - creates new set of shape points between stops to get same point distance along original shape
     *
     * @param {ISegmentShape[]} segmentsArr - Original shape points segment between two stops
     * @param {number} distance - Minimal distance for two consequent shape points
     * @returns {ISegmentShape[]} - Result array of new shape points
     */
    private divideSegmentLine;
    private mapGtfsShapesToTripShapes;
}
