import { HttpLibrary } from "./http/http"; import { Middleware, PromiseMiddleware } from "./middleware"; import { BaseServerConfiguration } from "./servers"; import { AuthMethods, AuthMethodsConfiguration } from "./auth/auth"; export interface Configuration { readonly baseServer: BaseServerConfiguration; readonly httpApi: HttpLibrary; readonly middleware: M[]; readonly authMethods: AuthMethods; } export interface MiddlewareMergeOptions { middlewareMergeStrategy?: 'replace' | 'append' | 'prepend'; } export type ConfigurationOptions = Partial> & MiddlewareMergeOptions; export type StandardConfigurationOptions = ConfigurationOptions; export type PromiseConfigurationOptions = ConfigurationOptions; export interface ConfigurationParameters { baseServer?: BaseServerConfiguration; httpApi?: HttpLibrary; middleware?: Middleware[]; promiseMiddleware?: PromiseMiddleware[]; authMethods?: AuthMethodsConfiguration; } export declare function createConfiguration(conf?: ConfigurationParameters): Configuration;