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; export declare function mergeConfiguration(conf: Configuration, options?: ConfigurationOptions): Configuration; export declare function wrapOptions(options?: PromiseConfigurationOptions): StandardConfigurationOptions | undefined;