import { DepartureFilter } from "../../helpers/enums/DepartureFilter";
import { DepartureUnion } from "../../interfaces/DepartureUnion";
/** SplitDepartures type
 * Departures in once array are the ones we want to show on Departure board.
 * Fill array is only used for some filters allowing to fill final result with
 * departures with secondary importance/ that were filter out by filter condition
 *
 */
export type SplitDepartures = {
    once: DepartureUnion[];
    fill: DepartureUnion[];
};
export type AccumulatorCondition = (accumulator: SplitDepartures, currentDeparture: DepartureUnion) => boolean;
export declare class FilterHelper {
    private static readonly routeId;
    private static readonly platformCode;
    private static readonly tripCisStopPlatformCode;
    private static readonly stopHeadsign;
    private static readonly tripHeadsign;
    static routeOnceHeadingCondition(accumulator: SplitDepartures, currentDeparture: DepartureUnion): boolean;
    static routeOnceHeadingNoGapCondition(accumulator: SplitDepartures, currentDeparture: DepartureUnion): boolean;
    static routeOnceCondition(accumulator: SplitDepartures, currentDeparture: DepartureUnion): boolean;
    static isFillFilterType(filter: DepartureFilter): boolean;
    private static isInFillBucket;
    private static isInOnceBucketWithHeading;
    private static isInOnceBucketWithHeadingWithPlatform;
    private static sameProperty;
    private static sameRouteId;
    private static sameHeadsign;
    private static samePlatformCode;
    private static isInOnceBucket;
}
