export interface RouteConfigFile {
  $schema?: string;
  versions: [VersionData, ...VersionData[]];
  routes: RouteConfigurationFragment[];
  policies?: PolicyConfigurationFragment[];
  corsPolicies?: CorsPolicyConfiguration[];
}
export interface VersionData {
  name: string;
  pathPrefix: string;
  info?: Info;
  openApiFile?: string;
  excludeFromOpenApi?: boolean;
  enforceOpenApi?: boolean;
}
export interface Info {
  title: string;
  summary?: string;
  description?: string;
  termsOfService?: string;
  version: string;
  [k: string]: unknown;
}
export interface RouteConfigurationFragment {
  operationId?: string;
  path: string;
  methods: (
    | "GET"
    | "HEAD"
    | "POST"
    | "PUT"
    | "DELETE"
    | "CONNECT"
    | "OPTIONS"
    | "TRACE"
    | "PATCH"
  )[];
  label?: string;
  enforceOpenApi?: boolean;
  key?: string;
  handler: HandlerDefinition;
  corsPolicy?: string;
  custom?: unknown;
  version: string;
  policies?: {
    inbound?: string[];
    outbound?: string[];
  };
  summary?: string;
  description?: string;
  excludeFromOpenApi?: boolean;
  tags?: string[];
}
export interface HandlerDefinition {
  module: string;
  export: string;
  options?: {
    [k: string]: unknown;
  };
}
export interface PolicyConfigurationFragment {
  name: string;
  policyType: string;
  handler: HandlerDefinition;
  options?: {
    [k: string]: unknown;
  };
}
export interface CorsPolicyConfiguration {
  name: string;
  allowCredentials?: boolean;
  maxAge?: number;
  allowedOrigins: string[];
  allowedMethods?: (
    | "GET"
    | "HEAD"
    | "POST"
    | "PUT"
    | "DELETE"
    | "CONNECT"
    | "OPTIONS"
    | "TRACE"
    | "PATCH"
  )[];
  allowedHeaders?: string[];
  exposeHeaders?: string[];
}
//# sourceMappingURL=routes.legacy.d.ts.map
