import { HttpClient as DefaultHttpClient, type HttpBackend, type HttpFeature, HttpHeaders, type HttpInterceptor, type HttpInterceptorFn, type HttpRequest, type HttpParams as NgifyHttpParams } from "@ngify/http";
import { InjectionToken, type Provider } from "injection-js";
import type { Observable } from "rxjs";
import { HttpParams, type HttpParamsOptions } from "./params";
export { HttpParams, HttpHeaders, type HttpParamsOptions, DefaultHttpClient };
export declare const HTTP_FEATURES: InjectionToken<HttpFeature[]>;
export declare const HTTP_INTERCEPTOR_FNS: InjectionToken<HttpInterceptorFn[]>;
export declare const HTTP_LEGACY_INTERCEPTORS: InjectionToken<HttpInterceptor[]>;
export declare const HTTP_BACKEND: InjectionToken<HttpBackend>;
export declare const HTTP_XSRF_PROTECTION: InjectionToken<HttpInterceptorFn>;
export declare function provideHttpClient(features?: HttpFeature[]): Provider[];
export type HttpClient = {
    get<T>(url: string, options?: {
        headers?: HttpHeaders;
        params?: NgifyHttpParams;
    }): Observable<T>;
    post<T>(url: string, body?: HttpRequest<any>["body"], options?: {
        headers?: HttpHeaders;
        params?: NgifyHttpParams;
    }): Observable<T>;
};
export declare const HTTP_CLIENT: InjectionToken<HttpClient>;
//# sourceMappingURL=index.d.ts.map