import type { IDisposable } from "@surface/core"; import type InjectDirectiveDescriptor from "../types/inject-directive-descriptor"; import type TemplateDirectiveContext from "../types/template-directive-context"; export default class InjectDirective implements IDisposable { private readonly cancellationTokenSource; private readonly context; private readonly descriptor; private readonly keySubscription; private readonly metadata; private readonly subscription; private readonly template; private disposed; private key; constructor(template: HTMLTemplateElement, descriptor: InjectDirectiveDescriptor, context: TemplateDirectiveContext); private readonly task; private disposeCurrentInjection; dispose(): void; }