import type { IHyperCore, HyperTransport, HttpClientOptions, HyperPlugin, InternalRequest, HttpResponse, RequestInterface, StreamResponse, RequestBodyData } from "@hyperttp/types"; /** * @ru Основной класс HTTP-клиента Hyperttp. Управляет транспортом, плагинами, повторными попытками и пулом запросов. * @en Core Hyperttp HTTP client class. Manages transport, plugins, retries, and request pooling. */ export declare class HyperCore implements IHyperCore { config: HttpClientOptions; private readonly transportManager; private readonly transportReady; private readonly defaultHeaders; private readonly pluginCtx; private readonly pipelines; private readonly requestBuilder; private readonly requestPool; private semaphore; private hasRequestPlugins; private hasResponseDataPlugins; private hasResponsePlugins; private hasErrorPlugins; private readonly _cachedMaxRetries; private readonly _cachedRetryOpts; constructor(config?: HttpClientOptions, transport?: HyperTransport); /** * @ru Возвращает имя текущего транспорта. * @en Returns the name of the current transport. * @returns Transport constructor name. */ getTransportName(): Promise; /** * @ru Основной метод отправки запроса через транспорт с поддержкой плагинов и повторных попыток. * @en Core request dispatch method through transport with plugin and retry support. * @param req - The internal request to dispatch. * @returns Promise resolving to the HTTP response. */ dispatch(req: InternalRequest): Promise>; /** * @ru Регистрирует плагин с сортировкой по приоритету. Пропускает отключённые плагины. * @en Registers a plugin sorted by priority. Skips disabled plugins. * @param plugin - The plugin instance to register. * @returns This instance for chaining. */ use(plugin: HyperPlugin): this; /** * @ru Выполняет GET-запрос. Использует быстрый путь для простых строковых URL без плагинов/повторов. * @en Performs a GET request. Uses a fast path for bare string URLs without plugins/retries. * @param req - URL string or RequestInterface. * @param signal - Optional abort signal. * @returns Promise resolving to the HTTP response. */ get(req: RequestInterface | string, signal?: AbortSignal): Promise>; private fastGet; /** * @ru Выполняет POST-запрос. * @en Performs a POST request. * @param req - URL string or RequestInterface. * @param body - Optional request body. * @param signal - Optional abort signal. * @returns Promise resolving to the HTTP response. */ post(req: RequestInterface | string, body?: RequestBodyData, signal?: AbortSignal): Promise>; /** * @ru Выполняет PUT-запрос. * @en Performs a PUT request. * @param req - URL string or RequestInterface. * @param body - Optional request body. * @param signal - Optional abort signal. * @returns Promise resolving to the HTTP response. */ put(req: RequestInterface | string, body?: RequestBodyData, signal?: AbortSignal): Promise>; /** * @ru Выполняет PATCH-запрос. * @en Performs a PATCH request. * @param req - URL string or RequestInterface. * @param body - Optional request body. * @param signal - Optional abort signal. * @returns Promise resolving to the HTTP response. */ patch(req: RequestInterface | string, body?: RequestBodyData, signal?: AbortSignal): Promise>; /** * @ru Выполняет DELETE-запрос. * @en Performs a DELETE request. * @param req - URL string or RequestInterface. * @param signal - Optional abort signal. * @returns Promise resolving to the HTTP response. */ delete(req: RequestInterface | string, signal?: AbortSignal): Promise>; /** * @ru Выполняет OPTIONS-запрос. * @en Performs an OPTIONS request. * @param req - URL string or RequestInterface. * @param body - Optional request body. * @param signal - Optional abort signal. * @returns Promise resolving to the HTTP response. */ options(req: RequestInterface | string, body?: RequestBodyData, signal?: AbortSignal): Promise>; /** * @ru Выполняет HEAD-запрос. * @en Performs a HEAD request. * @param req - URL string or RequestInterface. * @param signal - Optional abort signal. * @returns Promise resolving to the HTTP response with null body. */ head(req: RequestInterface | string, signal?: AbortSignal): Promise>; /** * @ru Выполняет GET-запрос и возвращает стриминг-ответ. * @en Performs a GET request and returns a streaming response. * @param req - URL string or RequestInterface. * @param signal - Optional abort signal. * @returns Promise resolving to a StreamResponse. */ stream(req: RequestInterface | string, signal?: AbortSignal): Promise>; /** * @ru Выполняет POST-запрос и возвращает стриминг-ответ. * @en Performs a POST request and returns a streaming response. * @param req - URL string or RequestInterface. * @param body - Optional request body. * @param signal - Optional abort signal. * @returns Promise resolving to a StreamResponse. */ postStream(req: RequestInterface | string, body?: RequestBodyData, signal?: AbortSignal): Promise>; /** * @ru Создаёт новый экземпляр HyperCore с расширенной/переопределённой конфигурацией. * @en Creates a new HyperCore instance with extended/overridden configuration. * @param options - Partial configuration overrides. * @returns A new HyperCore instance. */ extend(options: Partial): HyperCore; /** * @ru Алиас для extend(). * @en Alias for extend(). * @param options - Partial configuration overrides. * @returns A new HyperCore instance. */ create(options: Partial): HyperCore; /** * @ru Завершает работу клиента и освобождает ресурсы транспорта. * @en Shuts down the client and releases transport resources. * @param graceful - If true, waits for active requests to complete. * @returns Promise that resolves when shutdown is complete. */ destroy(graceful?: boolean): Promise; /** * @ru Выполняет GET-запрос и возвращает тело ответа, разобранное как JSON. * @en Performs a GET request and returns the response body parsed as JSON. * @param req - URL string or RequestInterface. * @param signal - Optional abort signal. * @returns Promise resolving to the parsed JSON value. */ json(req: RequestInterface | string, signal?: AbortSignal): Promise; /** * @ru Выполняет GET-запрос и возвращает тело ответа как строку. * @en Performs a GET request and returns the response body as text. * @param req - URL string or RequestInterface. * @param signal - Optional abort signal. * @returns Promise resolving to the response text. */ text(req: RequestInterface | string, signal?: AbortSignal): Promise; /** * @ru Выполняет GET-запрос и сбрасывает тело ответа (без сохранения). * @en Performs a GET request and discards the response body. * @param req - URL string or RequestInterface. * @param signal - Optional abort signal. * @returns Promise that resolves when the body is discarded. */ dump(req: RequestInterface | string, signal?: AbortSignal): Promise; private handleDispatchError; private acquireReq; private recycleRequest; private shortcut; } //# sourceMappingURL=HyperCore.d.ts.map