import { AbstractTask } from "@golemio/core/dist/integration-engine/workers";
import { MessageProperties } from "@golemio/core/dist/shared/amqplib";
import { IUpdateDelayInput } from "../interfaces/IUpdateDelayInput";
import { UpdateDelayValidationSchema } from "../schema/UpdateDelaySchema";
export declare class ProcessRegionalBusPositionsTask extends AbstractTask<IUpdateDelayInput> {
    readonly queueName = "processRegionalBusPositions";
    readonly queueTtl: number;
    readonly schema: typeof UpdateDelayValidationSchema;
    private readonly logger;
    private readonly tripsRepository;
    private readonly positionsRepository;
    private readonly delayComputationRedisRepository;
    private readonly delayComputationManager;
    private readonly updateDelayLimiter;
    private readonly regionalBusPositionsManager;
    constructor(queuePrefix: string);
    protected execute(data: IUpdateDelayInput, msgProperties?: MessageProperties): Promise<void>;
    private enrichTripWithGtfsComputationData;
    /**
     * Propagate known position properties from trips positions to processed positions, when the processed position property is
     * `undefined`
     *
     * @param tripsPositions Trips positions to propagate properties from
     * @param processedPositions Processed positions to propagate properties to
     */
    private propagateKnownPositionProperties;
    private updateComputedPositionsAndTrips;
    /**
     * Expire delay computation cache for given trips
     */
    private expireDelayComputationCache;
    /**
     * Invalidate positions after the last stop sequence of backtracked positions
     * We do this to improve historical data quality
     * as well as to prevent serving of incorrect stop times to API clients
     * (vehicle is expected to repeat some part of the trip)
     */
    private invalidateBacktrackedPositions;
    private getMaxStopSequence;
}
