import { ChildNode, Node } from "../../ast"; import { RenderContext } from "../../context"; import { Expression } from "../../expression"; import { RenderStream } from "../../io/output_stream"; import { Tag } from "../../tag"; import { Token, TokenStream } from "../../token"; export declare const Cycles: unique symbol; export declare const UndefinedCycleGroup: unique symbol; export declare class CycleTag implements Tag { readonly block = false; readonly name: string; protected nodeClass: typeof CycleNode; parse(stream: TokenStream): Node; } export declare class CycleNode implements Node { readonly token: Token; readonly args: Expression[]; readonly group?: Expression | undefined; constructor(token: Token, args: Expression[], group?: Expression | undefined); protected cycle(context: RenderContext, out: RenderStream, groupName: unknown, args: unknown[]): void; render(context: RenderContext, out: RenderStream): Promise; renderSync(context: RenderContext, out: RenderStream): void; children(): ChildNode[]; }