import { Injector } from '@angular/core';
import { BaseRemoteMethod, BaseRemoteMethodMetadata } from './base.remote-method';
import * as i0 from "@angular/core";
export declare abstract class ProxyRemoteMethod<ReturnType = any, SourceParameter = any, TargetParameter = SourceParameter> extends BaseRemoteMethod<ReturnType, SourceParameter> {
    private readonly remoteMethod;
    constructor(remoteMethod: BaseRemoteMethod, injector?: Injector | null, metadata?: BaseRemoteMethodMetadata);
    abstract transformParameters(parameters?: SourceParameter): TargetParameter | Promise<TargetParameter>;
    protected _call(parameters?: SourceParameter): Promise<any>;
    static ɵfac: i0.ɵɵFactoryDeclaration<ProxyRemoteMethod<any, any, any>, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<ProxyRemoteMethod<any, any, any>>;
}
