import { BlockNode, Node, ChildNode } from "../../ast"; import { RenderContext } from "../../context"; import { Environment } from "../../environment"; import { Expression } from "../../expression"; import { RenderStream } from "../../io/output_stream"; import { Tag } from "../../tag"; import { Token, TokenStream } from "../../token"; type ConditionalAlternative = { token: Token; condition: Expression; consequence: BlockNode; }; export declare class UnlessTag implements Tag { protected static END_IF_BLOCK: Set; protected static END_ELSEIF_BLOCK: Set; protected static END_ELSE_BLOCK: Set; readonly block = true; readonly name: string; readonly end: string; protected nodeClass: typeof UnlessNode; protected parseExpression(stream: TokenStream): Expression; parse(stream: TokenStream, environment: Environment): Node; } export declare class UnlessNode implements Node { readonly token: Token; private condition; private consequence; private conditionalAlternatives; private alternative?; forceOutput: boolean; constructor(token: Token, condition: Expression, consequence: BlockNode, conditionalAlternatives: ConditionalAlternative[], alternative?: BlockNode | undefined); render(context: RenderContext, out: RenderStream): Promise; renderSync(context: RenderContext, out: RenderStream): void; children(): ChildNode[]; } export {};