import { IPublicGtfsDepartureCacheDto } from "../../../schema-definitions/ropid-gtfs/redis/interfaces/IPublicGtfsDepartureCacheDto";
import { IDepartureWithPosition } from "../interfaces/IDepartureWithPosition";
import { IV4TransferDepartureOutputDto } from "../interfaces/IV4TransferDepartureOutputDto";
export declare class TransferBoardFilter {
    static filterDepartures(transfers: IV4TransferDepartureOutputDto[], limit: number, arrivalTimeMs: number, requestTimeFromMs: number): IV4TransferDepartureOutputDto[];
    static havingConnectionFromTripId(fromTripId: string, transfers: IDepartureWithPosition[], delayedTimeFrom: Date): IDepartureWithPosition[];
    private static hasConnectionWaitingTimeBeforeArrival;
    private static shiftedDepartureMs;
    private static shouldKeepTransferAlways;
    static filterOutKeepAlwaysTransfer(transfers: IDepartureWithPosition[]): IDepartureWithPosition[];
    static keepAlwaysLinesAndTripIds(transfers: IDepartureWithPosition[], tripIdsToKeep: Set<string>): IDepartureWithPosition[];
    static minimalTransferTime(transfers: IDepartureWithPosition[], delayedTimeFrom: Date, keepTripIds: Set<string>): IDepartureWithPosition[];
    static sameStopNameTransfer(transfers: Array<IDepartureWithPosition | {
        departure: IPublicGtfsDepartureCacheDto;
    }>, currentStopId: string, allowedStopIds: string[], keepTripIds: Set<string> | null, keepDeparturesWithConnections: boolean): Array<IDepartureWithPosition | {
        departure: IPublicGtfsDepartureCacheDto;
    }>;
    private static allowedTransferOnStop;
    private static isInRangeOrGuaranteed;
}
