import { AxiosInstance } from 'axios';
import { CacheService } from './cache.js';
import { BusStop, BusService, TrainServiceAlert, TaxiAvailability, TrafficIncident } from '../types/transport.js';
export declare class LTAService {
    private accountKey;
    private cache;
    private timeout;
    protected client: AxiosInstance;
    private readonly baseUrl;
    constructor(accountKey: string, cache: CacheService, timeout?: number);
    private setupInterceptors;
    getBusArrival(busStopCode: string, serviceNo?: string): Promise<BusService[]>;
    getBusStops(skip?: number, limit?: number): Promise<BusStop[]>;
    getAllBusStops(): Promise<BusStop[]>;
    getTrainServiceAlerts(): Promise<TrainServiceAlert[]>;
    getTaxiAvailability(): Promise<TaxiAvailability[]>;
    getTrafficIncidents(): Promise<TrafficIncident[]>;
    private formatBusArrival;
    private formatTrainAlerts;
    private getOperatorName;
    private getLineName;
    private formatLoadStatus;
    private formatBusType;
    private calculateMinutesAway;
}
