import { TokenStream } from '../classes/TokenStream'; import { Token } from '../classes/Lexer'; import { TogetherBlock, Statement, CodePosition, DecoratorCall } from '../types/Ast.type'; export interface TogetherBlockParserContext { parseStatement: (stream: TokenStream) => Statement | null; parseComment: (stream: TokenStream) => Statement | null; createCodePosition: (start: Token, end: Token) => CodePosition; } /** * Parse a 'together' block from TokenStream * Expects stream to be positioned at the 'together' keyword * * @param stream - TokenStream positioned at the 'together' keyword * @param context - Context with helper methods * @param decorators - Optional decorators to attach to this together block * @returns Parsed TogetherBlock */ export declare function parseTogether(stream: TokenStream, context: TogetherBlockParserContext, decorators?: DecoratorCall[]): TogetherBlock;