/** * Do not edit this file it is auto-generated by io-utils / gen-api-models. * See https://github.com/pagopa/io-utils */ import { RequestParams, TypeofApiCall, TypeofApiParams, ReplaceRequestParams } from "@pagopa/ts-commons/lib/requests"; import { NotifyT } from "./requestTypes"; type __UNDEFINED_KEY = "_____"; export type ApiOperation = TypeofApiCall; export type ParamKeys = keyof TypeofApiParams; /** * Defines an adapter for TypeofApiCall which omit one or more parameters in the signature * @param ApiT the type which defines the operation to expose * @param K the parameter to omit. undefined means no parameters will be omitted */ export type OmitApiCallParams = (op: TypeofApiCall) => K extends __UNDEFINED_KEY ? TypeofApiCall : TypeofApiCall, K>>>; /** * Defines an adapter for TypeofApiCall which omit one or more parameters in the signature * @param ApiT the type which defines the operation to expose * @param K the parameter to omit. undefined means no parameters will be omitted */ export type WithDefaultsT = OmitApiCallParams; /** * Defines a collection of api operations * @param K name of the parameters that the Clients masks from the operations */ export type Client = K extends __UNDEFINED_KEY ? { readonly notify: TypeofApiCall; } : { readonly notify: TypeofApiCall, K>>>; }; /** * Create an instance of a client * @param params hash map of parameters thata define the client: * - baseUrl: the base url for every api call (required) * - fetchApi: an implementation of the fetch() web API, depending on the platform (required) * - basePath: optional path to be appended to the baseUrl * - withDefaults: optional adapter to be applied to every operation, to omit some paramenters * @returns a collection of api operations */ export declare function createClient(params: { baseUrl: string; fetchApi: typeof fetch; withDefaults: WithDefaultsT; basePath?: string; }): Client; export declare function createClient(params: { baseUrl: string; fetchApi: typeof fetch; withDefaults?: undefined; basePath?: string; }): Client; export {};