export * from '@putkoff/abstract-logger'; import { AxiosResponseHeaders, RawAxiosResponseHeaders } from 'axios'; interface HttpRequestOptions { headers?: Record; timeout?: number; retry?: number; json?: boolean; } interface HttpResponse { status: number; data: T; headers?: Record; } declare function httpServer(method: string, url: string, body: any, options?: HttpRequestOptions): Promise>; declare function withRetry(fn: () => Promise, retry?: number): Promise; type AxiosLikeHeaders = AxiosResponseHeaders | Partial | Record | undefined; declare function normalizeHeaders(headers: AxiosLikeHeaders): Record; declare function axiosRequest(method: string, url: string, body?: any, options?: HttpRequestOptions): Promise>; /** * Get your API’s base URL from config, or fall back */ declare function getBaseUrl(key?: string): Promise; /** * Always resolves a usable base URL: config or default */ declare function getUrl(base_url?: string | null): Promise; /** * Fetch the endpoints list */ declare function getEndpoints(base_url?: string | null): Promise; /** Ensure we only fetch & map endpoints once */ declare function getUrls(): Promise>; /** * Find the best‐match endpoint slug under your API */ declare function getEndpoint(keyword: string): Promise; declare function api(endpoint: string): string; /** * Strip a leading host (http://host) from any URL-like string. */ declare function stripHost(str: string | null): string; declare function ensureAbstractUrl(endpoint: string, slices?: string[]): string; /** * Given an “endpoint” slug like "api/list", build the full URL * from the BASE_API_URL entry in your JSON config. */ declare function get_app_config_url(endpoint: string): Promise; /** * Makes a secure fetch through your API gateway. */ declare function secureFetchIt(endpoint: any, body?: any, method?: any, headers?: Record | null, blob?: boolean, noApi?: boolean, withCredentials?: boolean, returnJson?: boolean, returnResult?: boolean): Promise; declare function fetchSharePatch(opts: any): Promise; declare function makeRequest(method: string): (url: string, body?: any, opts?: any) => Promise; declare const get: (url: string, body?: any, opts?: any) => Promise; declare const post: (url: string, body?: any, opts?: any) => Promise; declare const put: (url: string, body?: any, opts?: any) => Promise; declare const del: (url: string, body?: any, opts?: any) => Promise; declare const http: { get: (url: string, body?: any, opts?: any) => Promise; post: (url: string, body?: any, opts?: any) => Promise; put: (url: string, body?: any, opts?: any) => Promise; del: (url: string, body?: any, opts?: any) => Promise; }; export { api, axiosRequest, del, ensureAbstractUrl, fetchSharePatch, get, getBaseUrl, getEndpoint, getEndpoints, getUrl, getUrls, get_app_config_url, http, httpServer, makeRequest, normalizeHeaders, post, put, secureFetchIt, stripHost, withRetry }; export type { AxiosLikeHeaders, HttpRequestOptions, HttpResponse };