import type { IRestOptions, IRestOptionsGlobals } from '../interfaces'; import type { CheckAndRestoreDefault, MergeOrAssignOptions, GetOption } from '.'; import RestClient from '../rest-client/index.class'; type SetOption = , K extends keyof O, V extends O[K]>(key: K, val: V) => RestClientBuilder; type UnsetOption = >(key: K) => RestClientBuilder; type CloneOptions = () => RestClientBuilder; export default class RestClientBuilder { private _options; private _restFactory; checkAndRestoreDefaults: CheckAndRestoreDefault; current: (...params: Parameters>) => RestClientBuilder; get: GetOption; set: SetOption; unset: UnsetOption; clone: CloneOptions; merge: (...params: Parameters>) => RestClientBuilder; assign: (...params: Parameters>) => RestClientBuilder; constructor(options?: Partial>, factoryClass?: TRestClient); setFactory any>(factoryClass: TRestClient): this; createRestClient any>(...args: ConstructorParameters): TRestClient; } export {};