/// import { Merge } from 'type-fest'; import { ProxyStream } from './as-stream'; import * as errors from './errors'; import { CancelableRequest, Defaults, ExtendOptions, HandlerFunction, NormalizedOptions, Options, Response, URLOrOptions, PaginationOptions } from './types'; export declare type HTTPAlias = 'get' | 'post' | 'put' | 'patch' | 'head' | 'delete'; export declare type ReturnStream = (url: string | Merge, options?: Merge) => ProxyStream; export declare type GotReturn = CancelableRequest | ProxyStream; export declare type OptionsOfDefaultResponseBody = Merge; declare type OptionsOfTextResponseBody = Merge; declare type OptionsOfJSONResponseBody = Merge; declare type OptionsOfBufferResponseBody = Merge; declare type ResponseBodyOnly = { resolveBodyOnly: true; }; /** Can be used to match methods explicitly or parameters extraction: `Parameters`. */ export interface GotRequestMethod { (url: string | OptionsOfDefaultResponseBody, options?: OptionsOfDefaultResponseBody): CancelableRequest>; (url: string | OptionsOfTextResponseBody, options?: OptionsOfTextResponseBody): CancelableRequest>; (url: string | OptionsOfJSONResponseBody, options?: OptionsOfJSONResponseBody): CancelableRequest>; (url: string | OptionsOfBufferResponseBody, options?: OptionsOfBufferResponseBody): CancelableRequest>; (url: string | Merge, options?: Merge): CancelableRequest; (url: string | Merge, options?: Merge): CancelableRequest; (url: string | Merge, options?: Merge): CancelableRequest; (url: string | Merge, options?: Merge): CancelableRequest; (url: string | Merge, options?: Merge): ProxyStream; } export interface GotPaginate { (url: URLOrOptions & PaginationOptions, options?: Options & PaginationOptions): AsyncIterableIterator; all(url: URLOrOptions & PaginationOptions, options?: Options & PaginationOptions): Promise; } export interface Got extends Record, GotRequestMethod { stream: GotStream; paginate: GotPaginate; defaults: Defaults; GotError: typeof errors.GotError; CacheError: typeof errors.CacheError; RequestError: typeof errors.RequestError; ReadError: typeof errors.ReadError; ParseError: typeof errors.ParseError; HTTPError: typeof errors.HTTPError; MaxRedirectsError: typeof errors.MaxRedirectsError; UnsupportedProtocolError: typeof errors.UnsupportedProtocolError; TimeoutError: typeof errors.TimeoutError; CancelError: typeof errors.CancelError; extend(...instancesOrOptions: Array): Got; mergeInstances(parent: Got, ...instances: Got[]): Got; mergeOptions(...sources: Options[]): NormalizedOptions; } export interface GotStream extends Record { (url: URLOrOptions, options?: Options): ProxyStream; } export declare const defaultHandler: HandlerFunction; declare const create: (defaults: Defaults) => Got; export default create;