import { AxiosRequestConfig } from 'axios'; import { MethodType } from '../const/methods.js'; import { RoutePath, RouteQuery, RoutesForMethod, SchemaType } from './schemeTypes.js'; import { QuerySerializationParams } from './serializer.js'; import { MakeNeverEmpty } from './utils.js'; /** * @description Type for valid status codes used in OpenAPI requests */ export type ValidStatusType = 'all' | 'axios' | 'fetch'; /** * @description Interface for options passed to OpenAPI requests using Axios */ export interface IOpenApiAxiosOptions { validStatus: Status; querySerializationParams?: QuerySerializationParams; } /** * @description Defines options that include path and query parameters, Axios configuration, and valid status codes */ export type OptionsType, Status extends ValidStatusType | undefined = undefined> = MakeNeverEmpty<{ params: RoutePath; query: RouteQuery; }> & { axios?: AxiosRequestConfig; validStatus?: Status; querySerializationParams?: QuerySerializationParams; };