import type { IDisposable } from "@surface/core"; import type ChoiceBranch from "../types/choice-branch.js"; import type DirectiveEntry from "../types/directive-entry.js"; import type Block from "./block.js"; type Context = { block: Block; branches: ChoiceBranch[]; directives: Map; host: Node; parent: Node; scope: object; }; export default class ChoiceDirective implements IDisposable { private readonly context; private readonly cancellationTokenSource; private readonly subscriptions; private currentDisposable; private disposed; private currentBranch?; constructor(context: Context); private readonly task; dispose(): void; } export {};