//#region src/index.d.ts interface ParamSpec { readonly codecId?: string; readonly traits?: readonly string[]; readonly nullable: boolean; } interface ReturnSpec { readonly codecId: string; readonly nullable: boolean; } type SelfSpec = { readonly codecId: string; readonly traits?: never; } | { readonly traits: readonly string[]; readonly codecId?: never; }; interface OperationEntry { readonly self?: SelfSpec; readonly impl: (...args: never[]) => unknown; } type OperationDescriptor = T; type OperationDescriptors = Readonly>>; interface OperationRegistry { register(name: string, descriptor: OperationDescriptor): void; entries(): Readonly>; } declare function createOperationRegistry(): OperationRegistry; //#endregion export { OperationDescriptor, OperationDescriptors, OperationEntry, OperationRegistry, ParamSpec, ReturnSpec, SelfSpec, createOperationRegistry }; //# sourceMappingURL=index.d.mts.map