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 '@outposts/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