import type { AbstractEndpoint } from './abstract-endpoint.js'; import type { ICommandEndpointMetadata } from './endpoint-metadata.js'; export type EndpointClass = (new (...args: never[]) => AbstractEndpoint) & { readonly route: ICommandEndpointMetadata; }; export interface BuiltEndpoint { route: ICommandEndpointMetadata; endpoint: AbstractEndpoint; } export interface IEndpointBuilder { build(target: new (...args: never[]) => T): T; } export interface EndpointResolverCradle { moduleScope: IEndpointBuilder; }