import { StopsIndex } from '../stops/stopsIndex.js';
import { RouteType, Timetable } from '../timetable/timetable.js';
import { TransferGenerator } from '../transfers/generator.js';
import { Maybe } from './utils.js';
export type GtfsProfile = {
    routeTypeParser: (routeType: number) => Maybe<RouteType>;
    /**
     * Derive fallback transfers between active stops that share a parent station.
     *
     * @default true
     */
    deriveSiblingTransfers?: boolean;
};
export declare class GtfsParser {
    private path;
    private profile;
    private transferGenerator?;
    constructor(path: string, profile?: GtfsProfile, transferGenerator?: TransferGenerator);
    /**
     * Parses a GTFS feed to extract all the data relevant to a given day in a transit-planner friendly format.
     *
     * @param date The active date.
     * @returns The parsed timetable.
     */
    parseTimetable(date: Date): Promise<Timetable>;
    /**
     * Parses a GTFS feed to extract all stops.
     *
     * @param activeStops The set of active stop IDs to include in the index.
     * @returns An index of stops.
     */
    parseStops(): Promise<StopsIndex>;
}
