import { HttpHeaderResponse, HttpProgressEvent, HttpResponse, HttpSentEvent } from '@angular/common/http';
import { BaseHttpRemoteMethod, HttpRemoteMethodMetadata, HttpRemoteMethodParameter } from './base-http.remote-method';
import * as i0 from "@angular/core";
export declare class HttpRemoteMethod<ReturnType = any, PathParams = any, Parameter extends object = HttpRemoteMethodParameter<PathParams>, MetaData extends HttpRemoteMethodMetadata = HttpRemoteMethodMetadata> extends BaseHttpRemoteMethod<ReturnType, PathParams, Parameter, MetaData> {
    onSentEvent(event: HttpSentEvent): void;
    onHeaderResponse(event: HttpHeaderResponse): void;
    onResponse(event: HttpResponse<ReturnType>): void;
    onProgressEvent(event: HttpProgressEvent): void;
    createHttpRequestParameters(parameters?: Parameter): Partial<HttpRemoteMethodParameter>;
    transformer(response: any): ReturnType;
    protected _call(parameters?: Parameter): Promise<ReturnType>;
    static ɵfac: i0.ɵɵFactoryDeclaration<HttpRemoteMethod<any, any, any, any>, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<HttpRemoteMethod<any, any, any, any>>;
}
