import { BaseRemoteMethod, BaseRemoteMethodMetadata, RemoteMethodLoader } from '@rxap/remote-method';
import { AbstractType, InjectionToken, Provider, Type } from '@angular/core';
export type MockRemoteMethod = (parameters?: any, metadata?: any) => any;
export declare class RemoteMethodTestingLoader extends RemoteMethodLoader {
    private mockedRemoteMethods;
    mock(remoteMethodId: string, resultOrFunction: any | MockRemoteMethod): void;
    clearMocks(): void;
    deleteMock(remoteMethodId: string): boolean;
    hasMock(remoteMethodId: string): boolean;
    getMock(remoteMethodId: string): MockRemoteMethod;
    call$<ReturnType = any, Parameters = any, Metadata extends BaseRemoteMethodMetadata = BaseRemoteMethodMetadata>(remoteMethodOrIdOrToken: string | BaseRemoteMethod<ReturnType, Parameters, Metadata> | Type<BaseRemoteMethod<ReturnType, Parameters, Metadata>> | InjectionToken<BaseRemoteMethod<ReturnType, Parameters, Metadata>> | AbstractType<BaseRemoteMethod<ReturnType, Parameters, Metadata>>, parameters?: Parameters, metadata?: Metadata): Promise<ReturnType>;
}
export declare const REMOTE_METHOD_TESTING_LOADER_PROVIDER: Provider;
