import type { IDisposable } from "@surface/core"; import type { DirectiveEntry } from "../../types/index.js"; import type Block from "../block"; import type Expression from "../types/expression.js"; import type Factory from "../types/fatctory"; import type ObservablePath from "../types/observable-path.js"; import type Pattern from "../types/pattern.js"; declare type Context = { block: Block; directives: Map; factory: Factory; host: Node; key: Expression; observables: [key: ObservablePath[], value: ObservablePath[]]; parent: Node; scope: object; value: Pattern; }; export default class InjectStatement implements IDisposable { private readonly context; private readonly cancellationTokenSource; private readonly keySubscription; private readonly metadata; private readonly subscription; private disposed; private key; constructor(context: Context); private readonly task; private disposeCurrentInjection; dispose(): void; } export {};