import { type Directives } from './Directives' import { type Endpoint } from './Endpoint' export class Method< TEndpoint extends Endpoint = any, TDirectives extends Directives = any > { public readonly endpoint: TEndpoint | null public readonly directives: TDirectives public constructor (endpoint: TEndpoint | null, directives: TDirectives) { this.endpoint = endpoint this.directives = directives } public async close (): Promise { await this.endpoint?.close() } } export type Methods< TEndpoint extends Endpoint = any, TDirectives extends Directives = any > = Record>