import { ICommonRunWithMessageDto } from "../../../../../schema-definitions/vehicle-positions/models/interfaces/ICommonRunWithMessageDto";
import { NotPublicVehiclesRedisRepository } from "../../../../ropid-gtfs/data-access/cache/NotPublicVehiclesRedisRepository";
import { ILogger } from "@golemio/core/dist/helpers/logger";
import { ICommonMessageFilter } from "./interfaces/ICommonMessageFilter";
import { TimestampValidator } from "./TimestampValidator";
export declare class TramMessageFilter implements ICommonMessageFilter {
    private logger;
    private timestampValidator;
    private notPublicVehiclesRepository;
    constructor(logger: ILogger, timestampValidator: TimestampValidator, notPublicVehiclesRepository: NotPublicVehiclesRedisRepository);
    /**
     * Yield tram messages that are valid for processing
     *   - route id is not considered a servicing route (50-89, note: >89 is a night tram route)
     *   - run number is less than 80
     *   - OR registration number is in not-public vehicles whitelist (e.g., mazačka maintenance trams)
     *   - timestamp is in acceptable range
     *
     * Sets isNotPublic flag on messages to avoid duplicate whitelist checks in processor
     */
    yieldFilteredMessages(messages: ICommonRunWithMessageDto[], timestamp: number): AsyncGenerator<ICommonRunWithMessageDto>;
    private isRouteIdValid;
    private isRunNumberValid;
}
