import { Client } from "./index.js";
import type { TrainGeneralInfo, TrainInfo, TrainNumber } from "./types.js";
export default class Trains {
    private readonly baseUrl;
    private readonly headers;
    constructor(client: Client);
    getTrainParts(trainNumber: TrainNumber): {
        url: string;
        headers?: Record<string, string>;
        method?: "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
        params: Record<string, string>;
        body: BodyInit | null;
    };
    getTrain(trainNumber: TrainNumber): Promise<[Error] | [undefined, import("./types.js").ApiError | TrainInfo]>;
    getTrainsLikeNumberParts(trainNumber: string, limit?: number): {
        url: string;
        headers?: Record<string, string>;
        method?: "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
        params: Record<string, string>;
        body: BodyInit | null;
    };
    getTrainsLikeNumber(trainNumber: string, limit?: number): Promise<[Error] | [undefined, import("./types.js").ApiError | TrainGeneralInfo[]]>;
    getTrainsLikeQueryParts(q: string, limit?: number): {
        url: string;
        headers?: Record<string, string>;
        method?: "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
        params: Record<string, string>;
        body: BodyInit | null;
    };
    getTrainsLikeQuery(q: string, limit?: number): Promise<[Error] | [undefined, import("./types.js").ApiError | TrainGeneralInfo[]]>;
}
