import type { IDisposable } from "@surface/core"; import type { ObservablePath, StackTrace } from "@surface/htmlx-parser"; import type Evaluator from "../types/evaluator.js"; import type SpreadFactory from "../types/spread-factory.js"; export type Context = { element: HTMLElement; evaluator: Evaluator; scope: object; factories: SpreadFactory[]; observables: ObservablePath[]; source?: string; stackTrace?: StackTrace; }; export default class SpreadDirective implements IDisposable { private readonly context; private readonly cancellationTokenSource; private readonly disposables; private readonly subscription; private disposed; private source?; constructor(context: Context); private readonly task; dispose(): void; }