import { CommonTokenStream, Token } from 'antlr4ts';
import { AbstractParseTreeVisitor, ErrorNode } from 'antlr4ts/tree';
import { TerminalNode } from 'antlr4ts/tree/TerminalNode';
import { FormattingOptions } from 'vscode-languageserver';
import { AggregateFilterContext, AggregateWithinContext, AsDatabaseContext, AsTableContext, CaseEndContext, CharsetIntroducerContext, CharsetLiteralContext, ColumnsContext, CommentContext, CreateViewContext, DefineItemsContext, DefineMatchContext, DefineValuesContext, ElseExprContext, ExcludingTableContext, ExplainContext, ExpressionsContext, ForPivotListContext, FromTableContext, GroupByContext, GroupingSetsContext, GroupItemContext, GroupItemsContext, HavingContext, HintsContext, IncludingTableContext, InPivotExprsContext, InsertContext, JsonFunctionContext, LikeConfigContext, LikeOptionsContext, LikeTableContext, LogicalBindContext, MapQueryContext, MapTableContext, MatchRecognizeContext, MeasureColumnsContext, MeasuresContext, OrderByContext, OrderItemsContext, OverWindowContext, ParenthesisExpressionsContext, ParenthesisGroupItemsContext, ParenthesisQueryContext, PartitionByContext, PartitionContext, PartitionedByContext, PatternMatchContext, PivotContext, ProgramContext, ProjectItemsContext, QueryFetchContext, QueryLimitContext, QueryOffsetContext, QueryOrderByContext, RenameToContext, SelectContext, SetValuesContext, StatementEndContext, SubsetItemsContext, SubsetMatchContext, TableExpressionContext, TableLateralContext, TableQueryContext, TableReferenceContext, TemporalFunctionContext, ThenExprContext, ValueAssignmentsContext, ValuesRowsContext, ValuesRowsParenthesisContext, WhenExprContext, WhereContext, WindowSelectContext, WindowSpecContext, WithValuesContext } from '../lib/FlinkSQLParser';
import { FlinkSQLParserVisitor } from '../lib/FlinkSQLParserVisitor';
export declare class AssembleTokensVisitor extends AbstractParseTreeVisitor<string> implements FlinkSQLParserVisitor<string> {
    private tokens;
    private config;
    private indentNumber;
    private indentString;
    private readonly newline;
    private readonly maxLineLength;
    visitedCommentTokens: WeakSet<Token>;
    constructor(tokens: CommonTokenStream, config: FormattingOptions);
    defaultResult(): string;
    aggregateResult(aggregate: string, nextResult: string): string;
    private get indent();
    private get newlineIndent();
    private addIndent;
    private minusIndent;
    private handleInlineClause;
    private handleInlineParenthesis;
    private handleInvocation;
    private addNewlineVisit;
    private addNewlineIndent;
    private isBeforeComment;
    private isAfterComment;
    private getNewlineIfNotAfterComment;
    private handleComma;
    private containComment;
    visitTerminal(node: TerminalNode): string;
    visitErrorNode(node: ErrorNode): string;
    visitProgram(ctx: ProgramContext): string;
    visitStatementEnd(ctx: StatementEndContext): string;
    visitTemporalFunction(ctx: TemporalFunctionContext): string;
    visitJsonFunction(ctx: JsonFunctionContext): string;
    visitWhenExpr(ctx: WhenExprContext): string;
    visitThenExpr(ctx: ThenExprContext): string;
    visitElseExpr(ctx: ElseExprContext): string;
    visitCaseEnd(ctx: CaseEndContext): string;
    visitColumns(ctx: ColumnsContext): string;
    visitValueAssignments(ctx: ValueAssignmentsContext): string;
    visitParenthesisQuery(ctx: ParenthesisQueryContext): string;
    visitLogicalBind(ctx: LogicalBindContext): string;
    visitParenthesisExpressions(ctx: ParenthesisExpressionsContext): string;
    visitExpressions(ctx: ExpressionsContext): string;
    visitAggregateFilter(ctx: AggregateFilterContext): string;
    visitAggregateWithin(ctx: AggregateWithinContext): string;
    visitOverWindow(ctx: OverWindowContext): string;
    visitExplain(ctx: ExplainContext): string;
    visitInsert(ctx: InsertContext): string;
    visitPartition(ctx: PartitionContext): string;
    visitCreateView(ctx: CreateViewContext): string;
    visitDefineValues(ctx: DefineValuesContext): string;
    visitLikeConfig(ctx: LikeConfigContext): string;
    visitLikeOptions(ctx: LikeOptionsContext): string;
    visitComment(ctx: CommentContext): string;
    visitPartitionedBy(ctx: PartitionedByContext): string;
    visitWithValues(ctx: WithValuesContext): string;
    visitLikeTable(ctx: LikeTableContext): string;
    visitAsTable(ctx: AsTableContext): string;
    visitAsDatabase(ctx: AsDatabaseContext): string;
    visitIncludingTable(ctx: IncludingTableContext): string;
    visitExcludingTable(ctx: ExcludingTableContext): string;
    visitMapQuery(ctx: MapQueryContext): string;
    visitMapTable(ctx: MapTableContext): string;
    visitValuesRows(ctx: ValuesRowsContext): string;
    visitValuesRowsParenthesis(ctx: ValuesRowsParenthesisContext): string;
    visitQueryOrderBy(ctx: QueryOrderByContext): string;
    visitQueryLimit(ctx: QueryLimitContext): string;
    visitQueryOffset(ctx: QueryOffsetContext): string;
    visitQueryFetch(ctx: QueryFetchContext): string;
    visitTableQuery(ctx: TableQueryContext): string;
    visitProjectItems(ctx: ProjectItemsContext): string;
    visitTableExpression(ctx: TableExpressionContext): string;
    visitTableReference(ctx: TableReferenceContext): string;
    visitTableLateral(ctx: TableLateralContext): string;
    visitOrderItems(ctx: OrderItemsContext): string;
    visitGroupItem(ctx: GroupItemContext): string;
    visitGroupItems(ctx: GroupItemsContext): string;
    visitParenthesisGroupItems(ctx: ParenthesisGroupItemsContext): string;
    visitGroupingSets(ctx: GroupingSetsContext): string;
    visitPartitionBy(ctx: PartitionByContext): string;
    visitOrderBy(ctx: OrderByContext): string;
    visitWindowSpec(ctx: WindowSpecContext): string;
    visitSelect(ctx: SelectContext): string;
    visitFromTable(ctx: FromTableContext): string;
    visitWhere(ctx: WhereContext): string;
    visitGroupBy(ctx: GroupByContext): string;
    visitHaving(ctx: HavingContext): string;
    visitWindowSelect(ctx: WindowSelectContext): string;
    visitHints(ctx: HintsContext): string;
    visitPivot(ctx: PivotContext): string;
    visitForPivotList(ctx: ForPivotListContext): string;
    visitInPivotExprs(ctx: InPivotExprsContext): string;
    visitMatchRecognize(ctx: MatchRecognizeContext): string;
    visitMeasures(ctx: MeasuresContext): string;
    visitSubsetMatch(ctx: SubsetMatchContext): string;
    visitPatternMatch(ctx: PatternMatchContext): string;
    visitDefineMatch(ctx: DefineMatchContext): string;
    visitMeasureColumns(ctx: MeasureColumnsContext): string;
    visitSubsetItems(ctx: SubsetItemsContext): string;
    visitDefineItems(ctx: DefineItemsContext): string;
    visitRenameTo(ctx: RenameToContext): string;
    visitSetValues(ctx: SetValuesContext): string;
    visitCharsetIntroducer(ctx: CharsetIntroducerContext): string;
    visitCharsetLiteral(ctx: CharsetLiteralContext): string;
}
