import { Class } from "./types";
export declare type InvocationType = "method" | "constructor";
declare type ParameterDefinition = {
    index: number;
    type: Class<any>;
    invocationTarget: PropertyKey;
    invocationType: InvocationType;
};
declare type RemoteInvocationRegistration = {
    definitions: ParameterDefinition[];
};
export default class RemoteRegistry {
    readonly mappings: Map<Class<any>, RemoteInvocationRegistration>;
    constructor();
    register<T>(type: Class<T>): RemoteInvocationRegistration;
    defineParameter(type: Class<any>, definition: ParameterDefinition): void;
    resolve<T>(key: Class<T>): RemoteInvocationRegistration;
}
export {};
