// Import express types for app and RequestHandler
import { Express, RequestHandler } from 'express';

interface MetaRoutesOptions {
  enableVersion?: boolean;
  enableConfig?: boolean;
  enableHealth?: boolean;
  enableReady?: boolean;
  enableMetrics?: boolean;
}

interface Config {
  _show: () => object; // Adjust according to the actual method signature
}

interface MetaRouteDependencies {
  version: string;
  config: Config;
  isServiceReady: () => boolean;
  metricsEndpoint: RequestHandler;
}

// Declaration of the metaRoutes function
declare function metaRoutes(app: Express, dependencies: MetaRouteDependencies, routeOptions?: MetaRoutesOptions): void;

// Export the metaRoutes function to match your JS export
export = metaRoutes;