import type { IDisposable } from "@surface/core"; import type { ObservablePath, StackTrace } from "@surface/htmlx-parser"; import type DestructuredEvaluator from "../types/destructured-evaluator.js"; import type DirectiveEntry from "../types/directive-entry.js"; import type Evaluator from "../types/evaluator.js"; import type NodeFactory from "../types/node-factory.js"; import Block from "./block.js"; type Context = { block: Block; directives: Map; factory: NodeFactory; host: Node; left: DestructuredEvaluator; observables: ObservablePath[]; operator: "in" | "of"; parent: Node; right: Evaluator; scope: object; source?: string; stackTrace?: StackTrace; }; export default class LoopDirective implements IDisposable { private readonly context; private static readonly maximumAmount; private readonly cache; private readonly cancellationTokenSource; private readonly iterator; private readonly subscription; private readonly tree; private disposed; constructor(context: Context); private action; private forOfIterator; private forInIterator; private readonly task; dispose(): void; } export {};