declare module 'leaflet-routing-machine' {
  import type * as L from 'leaflet';

  export interface IRouter {
    route(
      waypoints: Array<{ latLng: L.LatLng }>,
      callback: (error: unknown, routes?: unknown[]) => void,
      context?: unknown,
      options?: unknown,
    ): unknown;
  }
  export type IGeocoder = Record<string, unknown>;
  export type LineOptions = L.PolylineOptions;

  export namespace Routing {
    function control(options: Record<string, unknown>): Record<string, unknown>;
    class Plan {}
  }

  const Routing: typeof Routing;
  export default Routing;
}
