import { IDepartureBoardsStopIdGroups } from "../../controllers/v2/interfaces/PublicParamsInterfaces";
import { VehicleDescriptorCachedRepository } from "../../data-access/VehicleDescriptorCachedRepository";
import { GtfsStopsRedisRepository } from "../../../ropid-gtfs/data-access/redis/GtfsStopsRedisRepository";
import { PublicApiDepartureBoardGroup } from "../../domain/PublicApiDepartureInterfaces";
import { IGtfsDepartureRepository } from "../../domain/repository/IGtfsDepartureRepository";
import { IStopTimeRepository } from "../../domain/repository/IStopTimeRepository";
import { IVehiclePositionsRepository } from "../../domain/repository/IVehiclePositionsRepository";
export declare class DepartureBoardFacade {
    private readonly departureRepository;
    private readonly tripRepository;
    private readonly stopTimeRepository;
    private readonly descriptorRepository;
    private readonly gtfsStopsRepository;
    private readonly transformation;
    private static readonly OPEN_MINUTES_IN_PAST;
    private static readonly OPEN_MINUTES_IN_PAST_MS;
    constructor(departureRepository: IGtfsDepartureRepository, tripRepository: IVehiclePositionsRepository, stopTimeRepository: IStopTimeRepository, descriptorRepository: VehicleDescriptorCachedRepository, gtfsStopsRepository: GtfsStopsRedisRepository);
    getAll(stopIds: Set<IDepartureBoardsStopIdGroups>, limit: number, routeShortNames: string[] | null, minutesAfter: number, minutesBefore: number): Promise<PublicApiDepartureBoardGroup[] | null>;
    private handleStopGroupDepartures;
    private duplicateDeparturesWithDifferentVehicleIds;
    private filterForExistingStopIds;
    private sortStopGroupsByPriority;
}
