@aire-ux/aire-condensation
Version:
Client-side serialization library for Aire-UX
20 lines (19 loc) • 679 B
TypeScript
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 {};