import { ParseTreeVisitor } from "antlr4ts/tree/ParseTreeVisitor";
import { ProgramContext } from "./FlinkSQLParser";
import { StatementsContext } from "./FlinkSQLParser";
import { StatementContext } from "./FlinkSQLParser";
import { StatementEndContext } from "./FlinkSQLParser";
import { BeginContext } from "./FlinkSQLParser";
import { EndContext } from "./FlinkSQLParser";
import { AutoOptimizeContext } from "./FlinkSQLParser";
import { AutoOptimizeTableContext } from "./FlinkSQLParser";
import { AutoOptimizeDatabaseContext } from "./FlinkSQLParser";
import { QueryContext } from "./FlinkSQLParser";
import { MapQueryContext } from "./FlinkSQLParser";
import { QueryOrderByContext } from "./FlinkSQLParser";
import { QueryLimitContext } from "./FlinkSQLParser";
import { QueryOffsetContext } from "./FlinkSQLParser";
import { QueryFetchContext } from "./FlinkSQLParser";
import { WithItemContext } from "./FlinkSQLParser";
import { OrderItemContext } from "./FlinkSQLParser";
import { SelectContext } from "./FlinkSQLParser";
import { ProjectItemsContext } from "./FlinkSQLParser";
import { FromTableContext } from "./FlinkSQLParser";
import { WhereContext } from "./FlinkSQLParser";
import { GroupByContext } from "./FlinkSQLParser";
import { GroupItemsContext } from "./FlinkSQLParser";
import { HavingContext } from "./FlinkSQLParser";
import { WindowSelectContext } from "./FlinkSQLParser";
import { SelectWithoutFromContext } from "./FlinkSQLParser";
import { ProjectItemContext } from "./FlinkSQLParser";
import { SetQuantifierContext } from "./FlinkSQLParser";
import { TableExpressionContext } from "./FlinkSQLParser";
import { TableExprContext } from "./FlinkSQLParser";
import { MapTableContext } from "./FlinkSQLParser";
import { JoinConditionContext } from "./FlinkSQLParser";
import { CommaTableContext } from "./FlinkSQLParser";
import { TableReferenceContext } from "./FlinkSQLParser";
import { TableDimContext } from "./FlinkSQLParser";
import { TablePrimaryContext } from "./FlinkSQLParser";
import { TableSourceContext } from "./FlinkSQLParser";
import { TableLateralContext } from "./FlinkSQLParser";
import { TableQueryContext } from "./FlinkSQLParser";
import { ColumnDeclContext } from "./FlinkSQLParser";
import { HintsContext } from "./FlinkSQLParser";
import { HintContext } from "./FlinkSQLParser";
import { HintOptionsContext } from "./FlinkSQLParser";
import { HintKVOptionContext } from "./FlinkSQLParser";
import { OptionValueContext } from "./FlinkSQLParser";
import { OptionNameContext } from "./FlinkSQLParser";
import { PivotContext } from "./FlinkSQLParser";
import { PivotAggsContext } from "./FlinkSQLParser";
import { ForPivotListContext } from "./FlinkSQLParser";
import { PivotAggContext } from "./FlinkSQLParser";
import { PivotListContext } from "./FlinkSQLParser";
import { ColumnOrListContext } from "./FlinkSQLParser";
import { ExprOrListContext } from "./FlinkSQLParser";
import { InPivotExprsContext } from "./FlinkSQLParser";
import { PivotExprsContext } from "./FlinkSQLParser";
import { PivotExprContext } from "./FlinkSQLParser";
import { UnpivotContext } from "./FlinkSQLParser";
import { UnpivotMeasureListContext } from "./FlinkSQLParser";
import { UnpivotAxisListContext } from "./FlinkSQLParser";
import { UnpivotValueContext } from "./FlinkSQLParser";
import { ValuesContext } from "./FlinkSQLParser";
import { ValuesRowsContext } from "./FlinkSQLParser";
import { ValuesRowsParenthesisContext } from "./FlinkSQLParser";
import { ValueRowContext } from "./FlinkSQLParser";
import { GroupItemContext } from "./FlinkSQLParser";
import { GroupingSetsContext } from "./FlinkSQLParser";
import { ParenthesisGroupItemsContext } from "./FlinkSQLParser";
import { WindowContext } from "./FlinkSQLParser";
import { WindowSpecContext } from "./FlinkSQLParser";
import { RangeOrRowsContext } from "./FlinkSQLParser";
import { SetStatementContext } from "./FlinkSQLParser";
import { ResetStatementContext } from "./FlinkSQLParser";
import { AlterContext } from "./FlinkSQLParser";
import { AlterTableContext } from "./FlinkSQLParser";
import { AlterDatabaseContext } from "./FlinkSQLParser";
import { AlterFunctionContext } from "./FlinkSQLParser";
import { RenameToContext } from "./FlinkSQLParser";
import { SetValuesContext } from "./FlinkSQLParser";
import { ExplainContext } from "./FlinkSQLParser";
import { ExplainDetailsContext } from "./FlinkSQLParser";
import { ExplainDetailContext } from "./FlinkSQLParser";
import { DescribeContext } from "./FlinkSQLParser";
import { DescribeCatalogContext } from "./FlinkSQLParser";
import { DescribeDatabaseContext } from "./FlinkSQLParser";
import { DescribeTableContext } from "./FlinkSQLParser";
import { InsertContext } from "./FlinkSQLParser";
import { PartitionContext } from "./FlinkSQLParser";
import { UseContext } from "./FlinkSQLParser";
import { ShowContext } from "./FlinkSQLParser";
import { DdlStatementContext } from "./FlinkSQLParser";
import { CreateContext } from "./FlinkSQLParser";
import { CreateTableContext } from "./FlinkSQLParser";
import { DefineValuesContext } from "./FlinkSQLParser";
import { PartitionedByContext } from "./FlinkSQLParser";
import { WithValuesContext } from "./FlinkSQLParser";
import { LikeTableContext } from "./FlinkSQLParser";
import { AsTableContext } from "./FlinkSQLParser";
import { TableElementContext } from "./FlinkSQLParser";
import { PhysicalColumnDefinitionContext } from "./FlinkSQLParser";
import { ColumnConstraintContext } from "./FlinkSQLParser";
import { TableConstraintContext } from "./FlinkSQLParser";
import { MetadataColumnDefinitionContext } from "./FlinkSQLParser";
import { ComputedColumnDefinitionContext } from "./FlinkSQLParser";
import { WatermarkDefinitionContext } from "./FlinkSQLParser";
import { LikeConfigContext } from "./FlinkSQLParser";
import { LikeOptionsContext } from "./FlinkSQLParser";
import { LikeOptionContext } from "./FlinkSQLParser";
import { CreateCatalogContext } from "./FlinkSQLParser";
import { CreateDatabaseContext } from "./FlinkSQLParser";
import { AsDatabaseContext } from "./FlinkSQLParser";
import { IncludingTableContext } from "./FlinkSQLParser";
import { ExcludingTableContext } from "./FlinkSQLParser";
import { CreateViewContext } from "./FlinkSQLParser";
import { CreateFunctionContext } from "./FlinkSQLParser";
import { DropContext } from "./FlinkSQLParser";
import { DropTableContext } from "./FlinkSQLParser";
import { DropDatabaseContext } from "./FlinkSQLParser";
import { DropViewContext } from "./FlinkSQLParser";
import { DropFunctionContext } from "./FlinkSQLParser";
import { AddJarContext } from "./FlinkSQLParser";
import { ModuleStatementContext } from "./FlinkSQLParser";
import { LoadModuleContext } from "./FlinkSQLParser";
import { WithOptionalValuesContext } from "./FlinkSQLParser";
import { UnloadModuleContext } from "./FlinkSQLParser";
import { UseModulesContext } from "./FlinkSQLParser";
import { ShowModulesContext } from "./FlinkSQLParser";
import { TypeContext } from "./FlinkSQLParser";
import { TypeNameContext } from "./FlinkSQLParser";
import { SqlTypeNameContext } from "./FlinkSQLParser";
import { CollectionsTypeNameContext } from "./FlinkSQLParser";
import { CharContext } from "./FlinkSQLParser";
import { DecimalContext } from "./FlinkSQLParser";
import { RowTypeContext } from "./FlinkSQLParser";
import { SystemFunctionContext } from "./FlinkSQLParser";
import { JsonFunctionContext } from "./FlinkSQLParser";
import { JsonExistsFunctionContext } from "./FlinkSQLParser";
import { JsonValueFunctionContext } from "./FlinkSQLParser";
import { JsonQueryFunctionContext } from "./FlinkSQLParser";
import { JsonValueContext } from "./FlinkSQLParser";
import { PathContext } from "./FlinkSQLParser";
import { JsonObjectFunctionContext } from "./FlinkSQLParser";
import { JsonObjectAggFunctionContext } from "./FlinkSQLParser";
import { JsonArrayFunctionContext } from "./FlinkSQLParser";
import { JsonArrayAggFunctionContext } from "./FlinkSQLParser";
import { JsonKeyValContext } from "./FlinkSQLParser";
import { JsonValContext } from "./FlinkSQLParser";
import { NullBehaviorContext } from "./FlinkSQLParser";
import { TemporalFunctionContext } from "./FlinkSQLParser";
import { TemporalOverlapsContext } from "./FlinkSQLParser";
import { TemporalDateContext } from "./FlinkSQLParser";
import { TemporalTimeContext } from "./FlinkSQLParser";
import { TemporalTimestampContext } from "./FlinkSQLParser";
import { YearMonthIntervalContext } from "./FlinkSQLParser";
import { DayTimeIntervalContext } from "./FlinkSQLParser";
import { YearUnitContext } from "./FlinkSQLParser";
import { MonthUnitContext } from "./FlinkSQLParser";
import { DayUnitContext } from "./FlinkSQLParser";
import { HourUnitContext } from "./FlinkSQLParser";
import { MinuteUnitContext } from "./FlinkSQLParser";
import { SecondUnitContext } from "./FlinkSQLParser";
import { TimeIntervalUnitContext } from "./FlinkSQLParser";
import { TimePointUnitContext } from "./FlinkSQLParser";
import { AggregateWithinContext } from "./FlinkSQLParser";
import { AggregateFilterContext } from "./FlinkSQLParser";
import { AggregateNullsContext } from "./FlinkSQLParser";
import { OverWindowContext } from "./FlinkSQLParser";
import { ExpressionsContext } from "./FlinkSQLParser";
import { TableDataContext } from "./FlinkSQLParser";
import { ParenthesisExpressionsContext } from "./FlinkSQLParser";
import { ParenthesisQueryContext } from "./FlinkSQLParser";
import { ParenthesisSelectContext } from "./FlinkSQLParser";
import { ValueOptionalAssignmentsContext } from "./FlinkSQLParser";
import { ValueAssignmentsContext } from "./FlinkSQLParser";
import { ValueAssignmentContext } from "./FlinkSQLParser";
import { ColumnsContext } from "./FlinkSQLParser";
import { CommentContext } from "./FlinkSQLParser";
import { OrderByContext } from "./FlinkSQLParser";
import { OrderItemsContext } from "./FlinkSQLParser";
import { PartitionByContext } from "./FlinkSQLParser";
import { MatchRecognizeContext } from "./FlinkSQLParser";
import { MeasuresContext } from "./FlinkSQLParser";
import { MeasureColumnsContext } from "./FlinkSQLParser";
import { PerMatchContext } from "./FlinkSQLParser";
import { AfterMatchContext } from "./FlinkSQLParser";
import { PatternMatchContext } from "./FlinkSQLParser";
import { WithinMatchContext } from "./FlinkSQLParser";
import { SubsetMatchContext } from "./FlinkSQLParser";
import { SubsetItemsContext } from "./FlinkSQLParser";
import { SubsetItemContext } from "./FlinkSQLParser";
import { DefineMatchContext } from "./FlinkSQLParser";
import { DefineItemsContext } from "./FlinkSQLParser";
import { DefineItemContext } from "./FlinkSQLParser";
import { MeasureColumnContext } from "./FlinkSQLParser";
import { PatternContext } from "./FlinkSQLParser";
import { PatternTermContext } from "./FlinkSQLParser";
import { PatternFactorContext } from "./FlinkSQLParser";
import { PatternPrimaryContext } from "./FlinkSQLParser";
import { PatternQuantifierContext } from "./FlinkSQLParser";
import { AliasContext } from "./FlinkSQLParser";
import { AliasesContext } from "./FlinkSQLParser";
import { KeywordContext } from "./FlinkSQLParser";
import { AnyNameContext } from "./FlinkSQLParser";
import { ArrowWindowFunctionContext } from "./FlinkSQLParser";
import { CharsetIntroducerContext } from "./FlinkSQLParser";
import { CharsetLiteralContext } from "./FlinkSQLParser";
import { LiteralValueContext } from "./FlinkSQLParser";
import { UnaryOperatorContext } from "./FlinkSQLParser";
import { WhenExprContext } from "./FlinkSQLParser";
import { ThenExprContext } from "./FlinkSQLParser";
import { ElseExprContext } from "./FlinkSQLParser";
import { CaseEndContext } from "./FlinkSQLParser";
import { ArrayConstructContext } from "./FlinkSQLParser";
import { CompareContext } from "./FlinkSQLParser";
import { LogicalBindContext } from "./FlinkSQLParser";
import { FunctionParamContext } from "./FlinkSQLParser";
import { ExprContext } from "./FlinkSQLParser";
import { NameContext } from "./FlinkSQLParser";
import { ColumnNameContext } from "./FlinkSQLParser";
import { TableNameContext } from "./FlinkSQLParser";
import { DatabaseNameContext } from "./FlinkSQLParser";
import { CatalogNameContext } from "./FlinkSQLParser";
import { ViewNameContext } from "./FlinkSQLParser";
import { FunctionNameContext } from "./FlinkSQLParser";
import { ColumnContext } from "./FlinkSQLParser";
import { ViewContext } from "./FlinkSQLParser";
import { TableContext } from "./FlinkSQLParser";
import { DatabaseContext } from "./FlinkSQLParser";
import { CatalogContext } from "./FlinkSQLParser";
import { ReservedKeywordsContext } from "./FlinkSQLParser";
import { NonReservedKeywordsContext } from "./FlinkSQLParser";
import { CommonKeywordsContext } from "./FlinkSQLParser";
/**
 * This interface defines a complete generic visitor for a parse tree produced
 * by `FlinkSQLParser`.
 *
 * @param <Result> The return type of the visit operation. Use `void` for
 * operations with no return type.
 */
export interface FlinkSQLParserVisitor<Result> extends ParseTreeVisitor<Result> {
    /**
     * Visit a parse tree produced by `FlinkSQLParser.program`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitProgram?: (ctx: ProgramContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.statements`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitStatements?: (ctx: StatementsContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.statement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitStatement?: (ctx: StatementContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.statementEnd`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitStatementEnd?: (ctx: StatementEndContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.begin`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitBegin?: (ctx: BeginContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.end`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitEnd?: (ctx: EndContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.autoOptimize`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitAutoOptimize?: (ctx: AutoOptimizeContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.autoOptimizeTable`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitAutoOptimizeTable?: (ctx: AutoOptimizeTableContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.autoOptimizeDatabase`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitAutoOptimizeDatabase?: (ctx: AutoOptimizeDatabaseContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.query`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitQuery?: (ctx: QueryContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.mapQuery`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitMapQuery?: (ctx: MapQueryContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.queryOrderBy`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitQueryOrderBy?: (ctx: QueryOrderByContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.queryLimit`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitQueryLimit?: (ctx: QueryLimitContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.queryOffset`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitQueryOffset?: (ctx: QueryOffsetContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.queryFetch`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitQueryFetch?: (ctx: QueryFetchContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.withItem`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitWithItem?: (ctx: WithItemContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.orderItem`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitOrderItem?: (ctx: OrderItemContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.select`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitSelect?: (ctx: SelectContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.projectItems`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitProjectItems?: (ctx: ProjectItemsContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.fromTable`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitFromTable?: (ctx: FromTableContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.where`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitWhere?: (ctx: WhereContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.groupBy`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitGroupBy?: (ctx: GroupByContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.groupItems`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitGroupItems?: (ctx: GroupItemsContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.having`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitHaving?: (ctx: HavingContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.windowSelect`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitWindowSelect?: (ctx: WindowSelectContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.selectWithoutFrom`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitSelectWithoutFrom?: (ctx: SelectWithoutFromContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.projectItem`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitProjectItem?: (ctx: ProjectItemContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.setQuantifier`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitSetQuantifier?: (ctx: SetQuantifierContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.tableExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTableExpression?: (ctx: TableExpressionContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.tableExpr`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTableExpr?: (ctx: TableExprContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.mapTable`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitMapTable?: (ctx: MapTableContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.joinCondition`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitJoinCondition?: (ctx: JoinConditionContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.commaTable`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitCommaTable?: (ctx: CommaTableContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.tableReference`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTableReference?: (ctx: TableReferenceContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.tableDim`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTableDim?: (ctx: TableDimContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.tablePrimary`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTablePrimary?: (ctx: TablePrimaryContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.tableSource`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTableSource?: (ctx: TableSourceContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.tableLateral`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTableLateral?: (ctx: TableLateralContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.tableQuery`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTableQuery?: (ctx: TableQueryContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.columnDecl`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnDecl?: (ctx: ColumnDeclContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.hints`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitHints?: (ctx: HintsContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.hint`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitHint?: (ctx: HintContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.hintOptions`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitHintOptions?: (ctx: HintOptionsContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.hintKVOption`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitHintKVOption?: (ctx: HintKVOptionContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.optionValue`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitOptionValue?: (ctx: OptionValueContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.optionName`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitOptionName?: (ctx: OptionNameContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.pivot`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitPivot?: (ctx: PivotContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.pivotAggs`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitPivotAggs?: (ctx: PivotAggsContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.forPivotList`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitForPivotList?: (ctx: ForPivotListContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.pivotAgg`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitPivotAgg?: (ctx: PivotAggContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.pivotList`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitPivotList?: (ctx: PivotListContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.columnOrList`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnOrList?: (ctx: ColumnOrListContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.exprOrList`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitExprOrList?: (ctx: ExprOrListContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.inPivotExprs`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitInPivotExprs?: (ctx: InPivotExprsContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.pivotExprs`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitPivotExprs?: (ctx: PivotExprsContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.pivotExpr`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitPivotExpr?: (ctx: PivotExprContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.unpivot`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitUnpivot?: (ctx: UnpivotContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.unpivotMeasureList`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitUnpivotMeasureList?: (ctx: UnpivotMeasureListContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.unpivotAxisList`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitUnpivotAxisList?: (ctx: UnpivotAxisListContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.unpivotValue`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitUnpivotValue?: (ctx: UnpivotValueContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.values`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitValues?: (ctx: ValuesContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.valuesRows`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitValuesRows?: (ctx: ValuesRowsContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.valuesRowsParenthesis`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitValuesRowsParenthesis?: (ctx: ValuesRowsParenthesisContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.valueRow`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitValueRow?: (ctx: ValueRowContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.groupItem`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitGroupItem?: (ctx: GroupItemContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.groupingSets`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitGroupingSets?: (ctx: GroupingSetsContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.parenthesisGroupItems`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitParenthesisGroupItems?: (ctx: ParenthesisGroupItemsContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.window`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitWindow?: (ctx: WindowContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.windowSpec`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitWindowSpec?: (ctx: WindowSpecContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.rangeOrRows`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitRangeOrRows?: (ctx: RangeOrRowsContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.setStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitSetStatement?: (ctx: SetStatementContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.resetStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitResetStatement?: (ctx: ResetStatementContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.alter`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitAlter?: (ctx: AlterContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.alterTable`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitAlterTable?: (ctx: AlterTableContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.alterDatabase`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitAlterDatabase?: (ctx: AlterDatabaseContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.alterFunction`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitAlterFunction?: (ctx: AlterFunctionContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.renameTo`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitRenameTo?: (ctx: RenameToContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.setValues`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitSetValues?: (ctx: SetValuesContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.explain`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitExplain?: (ctx: ExplainContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.explainDetails`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitExplainDetails?: (ctx: ExplainDetailsContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.explainDetail`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitExplainDetail?: (ctx: ExplainDetailContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.describe`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitDescribe?: (ctx: DescribeContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.describeCatalog`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitDescribeCatalog?: (ctx: DescribeCatalogContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.describeDatabase`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitDescribeDatabase?: (ctx: DescribeDatabaseContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.describeTable`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitDescribeTable?: (ctx: DescribeTableContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.insert`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitInsert?: (ctx: InsertContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.partition`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitPartition?: (ctx: PartitionContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.use`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitUse?: (ctx: UseContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.show`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitShow?: (ctx: ShowContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.ddlStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitDdlStatement?: (ctx: DdlStatementContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.create`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitCreate?: (ctx: CreateContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.createTable`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitCreateTable?: (ctx: CreateTableContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.defineValues`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitDefineValues?: (ctx: DefineValuesContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.partitionedBy`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitPartitionedBy?: (ctx: PartitionedByContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.withValues`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitWithValues?: (ctx: WithValuesContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.likeTable`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitLikeTable?: (ctx: LikeTableContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.asTable`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitAsTable?: (ctx: AsTableContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.tableElement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTableElement?: (ctx: TableElementContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.physicalColumnDefinition`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitPhysicalColumnDefinition?: (ctx: PhysicalColumnDefinitionContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.columnConstraint`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnConstraint?: (ctx: ColumnConstraintContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.tableConstraint`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTableConstraint?: (ctx: TableConstraintContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.metadataColumnDefinition`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitMetadataColumnDefinition?: (ctx: MetadataColumnDefinitionContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.computedColumnDefinition`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitComputedColumnDefinition?: (ctx: ComputedColumnDefinitionContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.watermarkDefinition`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitWatermarkDefinition?: (ctx: WatermarkDefinitionContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.likeConfig`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitLikeConfig?: (ctx: LikeConfigContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.likeOptions`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitLikeOptions?: (ctx: LikeOptionsContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.likeOption`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitLikeOption?: (ctx: LikeOptionContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.createCatalog`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitCreateCatalog?: (ctx: CreateCatalogContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.createDatabase`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitCreateDatabase?: (ctx: CreateDatabaseContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.asDatabase`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitAsDatabase?: (ctx: AsDatabaseContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.includingTable`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitIncludingTable?: (ctx: IncludingTableContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.excludingTable`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitExcludingTable?: (ctx: ExcludingTableContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.createView`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitCreateView?: (ctx: CreateViewContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.createFunction`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitCreateFunction?: (ctx: CreateFunctionContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.drop`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitDrop?: (ctx: DropContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.dropTable`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitDropTable?: (ctx: DropTableContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.dropDatabase`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitDropDatabase?: (ctx: DropDatabaseContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.dropView`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitDropView?: (ctx: DropViewContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.dropFunction`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitDropFunction?: (ctx: DropFunctionContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.addJar`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitAddJar?: (ctx: AddJarContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.moduleStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitModuleStatement?: (ctx: ModuleStatementContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.loadModule`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitLoadModule?: (ctx: LoadModuleContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.withOptionalValues`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitWithOptionalValues?: (ctx: WithOptionalValuesContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.unloadModule`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitUnloadModule?: (ctx: UnloadModuleContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.useModules`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitUseModules?: (ctx: UseModulesContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.showModules`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitShowModules?: (ctx: ShowModulesContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.type`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitType?: (ctx: TypeContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.typeName`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTypeName?: (ctx: TypeNameContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.sqlTypeName`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitSqlTypeName?: (ctx: SqlTypeNameContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.collectionsTypeName`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitCollectionsTypeName?: (ctx: CollectionsTypeNameContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.char`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitChar?: (ctx: CharContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.decimal`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitDecimal?: (ctx: DecimalContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.rowType`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitRowType?: (ctx: RowTypeContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.systemFunction`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitSystemFunction?: (ctx: SystemFunctionContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.jsonFunction`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitJsonFunction?: (ctx: JsonFunctionContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.jsonExistsFunction`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitJsonExistsFunction?: (ctx: JsonExistsFunctionContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.jsonValueFunction`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitJsonValueFunction?: (ctx: JsonValueFunctionContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.jsonQueryFunction`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitJsonQueryFunction?: (ctx: JsonQueryFunctionContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.jsonValue`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitJsonValue?: (ctx: JsonValueContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.path`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitPath?: (ctx: PathContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.jsonObjectFunction`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitJsonObjectFunction?: (ctx: JsonObjectFunctionContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.jsonObjectAggFunction`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitJsonObjectAggFunction?: (ctx: JsonObjectAggFunctionContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.jsonArrayFunction`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitJsonArrayFunction?: (ctx: JsonArrayFunctionContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.jsonArrayAggFunction`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitJsonArrayAggFunction?: (ctx: JsonArrayAggFunctionContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.jsonKeyVal`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitJsonKeyVal?: (ctx: JsonKeyValContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.jsonVal`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitJsonVal?: (ctx: JsonValContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.nullBehavior`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitNullBehavior?: (ctx: NullBehaviorContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.temporalFunction`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTemporalFunction?: (ctx: TemporalFunctionContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.temporalOverlaps`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTemporalOverlaps?: (ctx: TemporalOverlapsContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.temporalDate`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTemporalDate?: (ctx: TemporalDateContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.temporalTime`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTemporalTime?: (ctx: TemporalTimeContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.temporalTimestamp`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTemporalTimestamp?: (ctx: TemporalTimestampContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.yearMonthInterval`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitYearMonthInterval?: (ctx: YearMonthIntervalContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.dayTimeInterval`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitDayTimeInterval?: (ctx: DayTimeIntervalContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.yearUnit`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitYearUnit?: (ctx: YearUnitContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.monthUnit`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitMonthUnit?: (ctx: MonthUnitContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.dayUnit`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitDayUnit?: (ctx: DayUnitContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.hourUnit`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitHourUnit?: (ctx: HourUnitContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.minuteUnit`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitMinuteUnit?: (ctx: MinuteUnitContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.secondUnit`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitSecondUnit?: (ctx: SecondUnitContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.timeIntervalUnit`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTimeIntervalUnit?: (ctx: TimeIntervalUnitContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.timePointUnit`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTimePointUnit?: (ctx: TimePointUnitContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.aggregateWithin`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitAggregateWithin?: (ctx: AggregateWithinContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.aggregateFilter`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitAggregateFilter?: (ctx: AggregateFilterContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.aggregateNulls`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitAggregateNulls?: (ctx: AggregateNullsContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.overWindow`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitOverWindow?: (ctx: OverWindowContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.expressions`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitExpressions?: (ctx: ExpressionsContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.tableData`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTableData?: (ctx: TableDataContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.parenthesisExpressions`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitParenthesisExpressions?: (ctx: ParenthesisExpressionsContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.parenthesisQuery`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitParenthesisQuery?: (ctx: ParenthesisQueryContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.parenthesisSelect`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitParenthesisSelect?: (ctx: ParenthesisSelectContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.valueOptionalAssignments`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitValueOptionalAssignments?: (ctx: ValueOptionalAssignmentsContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.valueAssignments`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitValueAssignments?: (ctx: ValueAssignmentsContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.valueAssignment`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitValueAssignment?: (ctx: ValueAssignmentContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.columns`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumns?: (ctx: ColumnsContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.comment`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitComment?: (ctx: CommentContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.orderBy`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitOrderBy?: (ctx: OrderByContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.orderItems`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitOrderItems?: (ctx: OrderItemsContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.partitionBy`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitPartitionBy?: (ctx: PartitionByContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.matchRecognize`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitMatchRecognize?: (ctx: MatchRecognizeContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.measures`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitMeasures?: (ctx: MeasuresContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.measureColumns`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitMeasureColumns?: (ctx: MeasureColumnsContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.perMatch`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitPerMatch?: (ctx: PerMatchContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.afterMatch`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitAfterMatch?: (ctx: AfterMatchContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.patternMatch`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitPatternMatch?: (ctx: PatternMatchContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.withinMatch`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitWithinMatch?: (ctx: WithinMatchContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.subsetMatch`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitSubsetMatch?: (ctx: SubsetMatchContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.subsetItems`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitSubsetItems?: (ctx: SubsetItemsContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.subsetItem`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitSubsetItem?: (ctx: SubsetItemContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.defineMatch`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitDefineMatch?: (ctx: DefineMatchContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.defineItems`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitDefineItems?: (ctx: DefineItemsContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.defineItem`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitDefineItem?: (ctx: DefineItemContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.measureColumn`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitMeasureColumn?: (ctx: MeasureColumnContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.pattern`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitPattern?: (ctx: PatternContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.patternTerm`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitPatternTerm?: (ctx: PatternTermContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.patternFactor`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitPatternFactor?: (ctx: PatternFactorContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.patternPrimary`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitPatternPrimary?: (ctx: PatternPrimaryContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.patternQuantifier`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitPatternQuantifier?: (ctx: PatternQuantifierContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.alias`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitAlias?: (ctx: AliasContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.aliases`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitAliases?: (ctx: AliasesContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.keyword`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitKeyword?: (ctx: KeywordContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.anyName`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitAnyName?: (ctx: AnyNameContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.arrowWindowFunction`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitArrowWindowFunction?: (ctx: ArrowWindowFunctionContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.charsetIntroducer`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitCharsetIntroducer?: (ctx: CharsetIntroducerContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.charsetLiteral`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitCharsetLiteral?: (ctx: CharsetLiteralContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.literalValue`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitLiteralValue?: (ctx: LiteralValueContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.unaryOperator`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitUnaryOperator?: (ctx: UnaryOperatorContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.whenExpr`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitWhenExpr?: (ctx: WhenExprContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.thenExpr`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitThenExpr?: (ctx: ThenExprContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.elseExpr`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitElseExpr?: (ctx: ElseExprContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.caseEnd`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitCaseEnd?: (ctx: CaseEndContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.arrayConstruct`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitArrayConstruct?: (ctx: ArrayConstructContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.compare`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitCompare?: (ctx: CompareContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.logicalBind`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitLogicalBind?: (ctx: LogicalBindContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.functionParam`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitFunctionParam?: (ctx: FunctionParamContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.expr`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitExpr?: (ctx: ExprContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.name`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitName?: (ctx: NameContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.columnName`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnName?: (ctx: ColumnNameContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.tableName`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTableName?: (ctx: TableNameContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.databaseName`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitDatabaseName?: (ctx: DatabaseNameContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.catalogName`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitCatalogName?: (ctx: CatalogNameContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.viewName`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitViewName?: (ctx: ViewNameContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.functionName`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitFunctionName?: (ctx: FunctionNameContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.column`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumn?: (ctx: ColumnContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.view`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitView?: (ctx: ViewContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.table`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTable?: (ctx: TableContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.database`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitDatabase?: (ctx: DatabaseContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.catalog`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitCatalog?: (ctx: CatalogContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.reservedKeywords`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitReservedKeywords?: (ctx: ReservedKeywordsContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.nonReservedKeywords`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitNonReservedKeywords?: (ctx: NonReservedKeywordsContext) => Result;
    /**
     * Visit a parse tree produced by `FlinkSQLParser.commonKeywords`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitCommonKeywords?: (ctx: CommonKeywordsContext) => Result;
}
