import { Response, RequestInfo, RequestInit } from 'node-fetch'; export interface HostConfig { host: string; headers?: { [key: string]: string; }; } export interface ServiceConfig { clientName: string; hosts: { journeyPlanner: string; geocoder: string; nsr: string; scooters: string; mobility: string; }; headers: { [key: string]: string; }; fetch?: (url: RequestInfo, init?: RequestInit | undefined) => Promise; } export interface ArgumentConfig { clientName: string; hosts?: { journeyPlanner?: string; geocoder?: string; nsr?: string; scooters?: string; mobility?: string; }; headers?: { [key: string]: string; }; fetch?: (url: RequestInfo, init?: RequestInit | undefined) => Promise; } export interface OverrideConfig { clientName?: string; hosts?: { journeyPlanner?: string; geocoder?: string; nsr?: string; scooters?: string; mobility?: string; }; headers?: { [key: string]: string; }; fetch?: (url: RequestInfo, init?: RequestInit | undefined) => Promise; } export declare function getServiceConfig(config: ArgumentConfig): ServiceConfig; export declare function getJourneyPlannerHost({ hosts, clientName, headers, }: ServiceConfig): HostConfig; export declare function getGeocoderHost({ hosts, clientName, headers, }: ServiceConfig): HostConfig; export declare function getNSRHost({ hosts, clientName, headers, }: ServiceConfig): HostConfig; export declare function getScootersHost({ hosts, clientName, headers, }: ServiceConfig): HostConfig; export declare function getMobilityHost({ hosts, clientName, headers, }: ServiceConfig): HostConfig; export declare function mergeConfig(config: ServiceConfig, override?: OverrideConfig): ServiceConfig;