/**
 * Router /WEB LAYER/: maps routes to specific controller functions, passes request parameters and handles responses.
 * Handles web logic (http request, response). Sets response headers, handles error responses.
 */
/// <reference types="express" />
import { GTFSCalendarModel } from "../../models/GTFSCalendarModel";
import { GTFSRoutesModel } from "../../models/GTFSRoutesModel";
import { GTFSShapesModel } from "../../models/GTFSShapesModel";
import { GTFSStopModel } from "../../models/GTFSStopModel";
import { GTFSStopTimesModel } from "../../models/GTFSStopTimesModel";
import { GTFSTripsModel } from "../../models/GTFSTripsModel";
import { AbstractRouter } from "@golemio/core/dist/helpers/routing/AbstractRouter";
import { NextFunction, Request, Response, Router } from "@golemio/core/dist/shared/express";
export declare class V2GTFSRouter extends AbstractRouter {
    router: Router;
    private cacheHeaderMiddleware;
    protected tripModel: GTFSTripsModel;
    protected serviceModel: GTFSCalendarModel;
    protected stopModel: GTFSStopModel;
    protected routeModel: GTFSRoutesModel;
    protected shapeModel: GTFSShapesModel;
    protected stopTimeModel: GTFSStopTimesModel;
    private timeRegex;
    private tripInclusions;
    private stopTimesHandlers;
    constructor();
    GetAllServices: (req: Request, res: Response, next: NextFunction) => Promise<void>;
    GetAllStopTimes: (req: Request, res: Response, next: NextFunction) => Promise<void>;
    GetAllTrips: (req: Request, res: Response, next: NextFunction) => Promise<void>;
    GetOneTrip: (req: Request, res: Response, next: NextFunction) => Promise<void>;
    GetAllStops: (req: Request, res: Response, next: NextFunction) => Promise<void>;
    GetOneStop: (req: Request, res: Response, next: NextFunction) => Promise<void>;
    GetAllRoutes: (req: Request, res: Response, next: NextFunction) => Promise<void>;
    GetOneRoute: (req: Request, res: Response, next: NextFunction) => Promise<void>;
    GetAllShapes: (req: Request, res: Response, next: NextFunction) => Promise<void>;
    /**
     * Initiates all routes. Should respond with correct data to a HTTP requests to all routes.
     */
    protected initRoutes: () => void;
    private initRoutesEndpoints;
    private initServicesEndpoints;
    private initShapesEndpoints;
    private initTripsEndpoints;
    private initStopsEndpoints;
    private initStopTimesEndpoints;
}
declare const v2GtfsRouter: AbstractRouter;
export { v2GtfsRouter };
