import { ParseTreeVisitor } from "antlr4ts/tree/ParseTreeVisitor";
import { ColumnReferenceContext } from "./FlinkSQLParser";
import { StarContext } from "./FlinkSQLParser";
import { DereferenceContext } from "./FlinkSQLParser";
import { LogicalNotContext } from "./FlinkSQLParser";
import { ExistsContext } from "./FlinkSQLParser";
import { PredicatedContext } from "./FlinkSQLParser";
import { LogicalBinaryContext } from "./FlinkSQLParser";
import { ValueExpressionDefaultContext } from "./FlinkSQLParser";
import { ArithmeticUnaryContext } from "./FlinkSQLParser";
import { ArithmeticBinaryContext } from "./FlinkSQLParser";
import { ComparisonContext } from "./FlinkSQLParser";
import { ProgramContext } from "./FlinkSQLParser";
import { StatementsContext } from "./FlinkSQLParser";
import { StatementContext } from "./FlinkSQLParser";
import { StatementEndContext } from "./FlinkSQLParser";
import { EndContext } from "./FlinkSQLParser";
import { AutoOptimizeContext } from "./FlinkSQLParser";
import { AutoOptimizeTableContext } from "./FlinkSQLParser";
import { AutoOptimizeDatabaseContext } from "./FlinkSQLParser";
import { AnalyzeContext } from "./FlinkSQLParser";
import { QueryContext } from "./FlinkSQLParser";
import { QueryTermContext } from "./FlinkSQLParser";
import { QueryPrimaryContext } from "./FlinkSQLParser";
import { CtesContext } 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 { SelectClauseContext } 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 { 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 { 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 { AlterViewContext } from "./FlinkSQLParser";
import { AlterDatabaseContext } from "./FlinkSQLParser";
import { AlterFunctionContext } from "./FlinkSQLParser";
import { AlterMaterializedTableContext } 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 { InsertMultipleContext } from "./FlinkSQLParser";
import { ExecuteStatementSetContext } from "./FlinkSQLParser";
import { BeginStatementSetContext } from "./FlinkSQLParser";
import { UseContext } from "./FlinkSQLParser";
import { ShowContext } from "./FlinkSQLParser";
import { DdlStatementContext } from "./FlinkSQLParser";
import { CreateContext } from "./FlinkSQLParser";
import { CreateTableContext } from "./FlinkSQLParser";
import { CreateMaterializedTableContext } from "./FlinkSQLParser";
import { DefineValuesContext } from "./FlinkSQLParser";
import { PartitionedByContext } from "./FlinkSQLParser";
import { WithValuesContext } from "./FlinkSQLParser";
import { LikeTableContext } from "./FlinkSQLParser";
import { AsTableContext } from "./FlinkSQLParser";
import { FreshnessContext } from "./FlinkSQLParser";
import { RefreshModeContext } from "./FlinkSQLParser";
import { TableElementContext } from "./FlinkSQLParser";
import { ColumnDefinitionContext } from "./FlinkSQLParser";
import { ColumnConstraintContext } from "./FlinkSQLParser";
import { TableConstraintContext } 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 { DropMaterializedTableContext } from "./FlinkSQLParser";
import { AddJarContext } from "./FlinkSQLParser";
import { ModuleStatementContext } from "./FlinkSQLParser";
import { LoadModuleContext } 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 { VarcharContext } from "./FlinkSQLParser";
import { DecimalContext } from "./FlinkSQLParser";
import { VarbinaryContext } 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 { ParenthesisExpressionsContext } from "./FlinkSQLParser";
import { ParenthesisQueryContext } from "./FlinkSQLParser";
import { ColumnAssignmentsContext } from "./FlinkSQLParser";
import { ColumnAssignmentContext } from "./FlinkSQLParser";
import { ValueAssignmentsContext } from "./FlinkSQLParser";
import { ValueAssignmentContext } from "./FlinkSQLParser";
import { ColumnsContext } from "./FlinkSQLParser";
import { ColumnsWithoutParenthesisContext } 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 { AnyNonStringNameContext } from "./FlinkSQLParser";
import { ArrowWindowFunctionContext } from "./FlinkSQLParser";
import { CharsetIntroducerContext } from "./FlinkSQLParser";
import { CharsetLiteralContext } from "./FlinkSQLParser";
import { LiteralValueContext } 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 { PredicateContext } from "./FlinkSQLParser";
import { ExprContext } from "./FlinkSQLParser";
import { BooleanExprContext } from "./FlinkSQLParser";
import { ValueExprContext } from "./FlinkSQLParser";
import { SubQueryContext } from "./FlinkSQLParser";
import { FunctionCallContext } from "./FlinkSQLParser";
import { PrimaryExprContext } from "./FlinkSQLParser";
import { StringContext } 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";
export interface FlinkSQLParserVisitor<Result> extends ParseTreeVisitor<Result> {
    visitColumnReference?: (ctx: ColumnReferenceContext) => Result;
    visitStar?: (ctx: StarContext) => Result;
    visitDereference?: (ctx: DereferenceContext) => Result;
    visitLogicalNot?: (ctx: LogicalNotContext) => Result;
    visitExists?: (ctx: ExistsContext) => Result;
    visitPredicated?: (ctx: PredicatedContext) => Result;
    visitLogicalBinary?: (ctx: LogicalBinaryContext) => Result;
    visitValueExpressionDefault?: (ctx: ValueExpressionDefaultContext) => Result;
    visitArithmeticUnary?: (ctx: ArithmeticUnaryContext) => Result;
    visitArithmeticBinary?: (ctx: ArithmeticBinaryContext) => Result;
    visitComparison?: (ctx: ComparisonContext) => Result;
    visitProgram?: (ctx: ProgramContext) => Result;
    visitStatements?: (ctx: StatementsContext) => Result;
    visitStatement?: (ctx: StatementContext) => Result;
    visitStatementEnd?: (ctx: StatementEndContext) => Result;
    visitEnd?: (ctx: EndContext) => Result;
    visitAutoOptimize?: (ctx: AutoOptimizeContext) => Result;
    visitAutoOptimizeTable?: (ctx: AutoOptimizeTableContext) => Result;
    visitAutoOptimizeDatabase?: (ctx: AutoOptimizeDatabaseContext) => Result;
    visitAnalyze?: (ctx: AnalyzeContext) => Result;
    visitQuery?: (ctx: QueryContext) => Result;
    visitQueryTerm?: (ctx: QueryTermContext) => Result;
    visitQueryPrimary?: (ctx: QueryPrimaryContext) => Result;
    visitCtes?: (ctx: CtesContext) => Result;
    visitMapQuery?: (ctx: MapQueryContext) => Result;
    visitQueryOrderBy?: (ctx: QueryOrderByContext) => Result;
    visitQueryLimit?: (ctx: QueryLimitContext) => Result;
    visitQueryOffset?: (ctx: QueryOffsetContext) => Result;
    visitQueryFetch?: (ctx: QueryFetchContext) => Result;
    visitWithItem?: (ctx: WithItemContext) => Result;
    visitOrderItem?: (ctx: OrderItemContext) => Result;
    visitSelectClause?: (ctx: SelectClauseContext) => Result;
    visitSelect?: (ctx: SelectContext) => Result;
    visitProjectItems?: (ctx: ProjectItemsContext) => Result;
    visitFromTable?: (ctx: FromTableContext) => Result;
    visitWhere?: (ctx: WhereContext) => Result;
    visitGroupBy?: (ctx: GroupByContext) => Result;
    visitGroupItems?: (ctx: GroupItemsContext) => Result;
    visitHaving?: (ctx: HavingContext) => Result;
    visitWindowSelect?: (ctx: WindowSelectContext) => Result;
    visitProjectItem?: (ctx: ProjectItemContext) => Result;
    visitSetQuantifier?: (ctx: SetQuantifierContext) => Result;
    visitTableExpression?: (ctx: TableExpressionContext) => Result;
    visitTableExpr?: (ctx: TableExprContext) => Result;
    visitMapTable?: (ctx: MapTableContext) => Result;
    visitJoinCondition?: (ctx: JoinConditionContext) => Result;
    visitCommaTable?: (ctx: CommaTableContext) => Result;
    visitTableReference?: (ctx: TableReferenceContext) => Result;
    visitTableDim?: (ctx: TableDimContext) => Result;
    visitTablePrimary?: (ctx: TablePrimaryContext) => Result;
    visitTableSource?: (ctx: TableSourceContext) => Result;
    visitTableLateral?: (ctx: TableLateralContext) => Result;
    visitTableQuery?: (ctx: TableQueryContext) => Result;
    visitHints?: (ctx: HintsContext) => Result;
    visitHint?: (ctx: HintContext) => Result;
    visitHintOptions?: (ctx: HintOptionsContext) => Result;
    visitHintKVOption?: (ctx: HintKVOptionContext) => Result;
    visitOptionValue?: (ctx: OptionValueContext) => Result;
    visitOptionName?: (ctx: OptionNameContext) => Result;
    visitPivot?: (ctx: PivotContext) => Result;
    visitPivotAggs?: (ctx: PivotAggsContext) => Result;
    visitForPivotList?: (ctx: ForPivotListContext) => Result;
    visitPivotAgg?: (ctx: PivotAggContext) => Result;
    visitPivotList?: (ctx: PivotListContext) => Result;
    visitColumnOrList?: (ctx: ColumnOrListContext) => Result;
    visitExprOrList?: (ctx: ExprOrListContext) => Result;
    visitInPivotExprs?: (ctx: InPivotExprsContext) => Result;
    visitPivotExprs?: (ctx: PivotExprsContext) => Result;
    visitPivotExpr?: (ctx: PivotExprContext) => Result;
    visitUnpivot?: (ctx: UnpivotContext) => Result;
    visitUnpivotMeasureList?: (ctx: UnpivotMeasureListContext) => Result;
    visitUnpivotAxisList?: (ctx: UnpivotAxisListContext) => Result;
    visitUnpivotValue?: (ctx: UnpivotValueContext) => Result;
    visitValues?: (ctx: ValuesContext) => Result;
    visitValuesRows?: (ctx: ValuesRowsContext) => Result;
    visitValuesRowsParenthesis?: (ctx: ValuesRowsParenthesisContext) => Result;
    visitValueRow?: (ctx: ValueRowContext) => Result;
    visitGroupItem?: (ctx: GroupItemContext) => Result;
    visitGroupingSets?: (ctx: GroupingSetsContext) => Result;
    visitParenthesisGroupItems?: (ctx: ParenthesisGroupItemsContext) => Result;
    visitWindow?: (ctx: WindowContext) => Result;
    visitWindowSpec?: (ctx: WindowSpecContext) => Result;
    visitRangeOrRows?: (ctx: RangeOrRowsContext) => Result;
    visitSetStatement?: (ctx: SetStatementContext) => Result;
    visitResetStatement?: (ctx: ResetStatementContext) => Result;
    visitAlter?: (ctx: AlterContext) => Result;
    visitAlterTable?: (ctx: AlterTableContext) => Result;
    visitAlterView?: (ctx: AlterViewContext) => Result;
    visitAlterDatabase?: (ctx: AlterDatabaseContext) => Result;
    visitAlterFunction?: (ctx: AlterFunctionContext) => Result;
    visitAlterMaterializedTable?: (ctx: AlterMaterializedTableContext) => Result;
    visitRenameTo?: (ctx: RenameToContext) => Result;
    visitSetValues?: (ctx: SetValuesContext) => Result;
    visitExplain?: (ctx: ExplainContext) => Result;
    visitExplainDetails?: (ctx: ExplainDetailsContext) => Result;
    visitExplainDetail?: (ctx: ExplainDetailContext) => Result;
    visitDescribe?: (ctx: DescribeContext) => Result;
    visitDescribeCatalog?: (ctx: DescribeCatalogContext) => Result;
    visitDescribeDatabase?: (ctx: DescribeDatabaseContext) => Result;
    visitDescribeTable?: (ctx: DescribeTableContext) => Result;
    visitInsert?: (ctx: InsertContext) => Result;
    visitPartition?: (ctx: PartitionContext) => Result;
    visitInsertMultiple?: (ctx: InsertMultipleContext) => Result;
    visitExecuteStatementSet?: (ctx: ExecuteStatementSetContext) => Result;
    visitBeginStatementSet?: (ctx: BeginStatementSetContext) => Result;
    visitUse?: (ctx: UseContext) => Result;
    visitShow?: (ctx: ShowContext) => Result;
    visitDdlStatement?: (ctx: DdlStatementContext) => Result;
    visitCreate?: (ctx: CreateContext) => Result;
    visitCreateTable?: (ctx: CreateTableContext) => Result;
    visitCreateMaterializedTable?: (ctx: CreateMaterializedTableContext) => Result;
    visitDefineValues?: (ctx: DefineValuesContext) => Result;
    visitPartitionedBy?: (ctx: PartitionedByContext) => Result;
    visitWithValues?: (ctx: WithValuesContext) => Result;
    visitLikeTable?: (ctx: LikeTableContext) => Result;
    visitAsTable?: (ctx: AsTableContext) => Result;
    visitFreshness?: (ctx: FreshnessContext) => Result;
    visitRefreshMode?: (ctx: RefreshModeContext) => Result;
    visitTableElement?: (ctx: TableElementContext) => Result;
    visitColumnDefinition?: (ctx: ColumnDefinitionContext) => Result;
    visitColumnConstraint?: (ctx: ColumnConstraintContext) => Result;
    visitTableConstraint?: (ctx: TableConstraintContext) => Result;
    visitWatermarkDefinition?: (ctx: WatermarkDefinitionContext) => Result;
    visitLikeConfig?: (ctx: LikeConfigContext) => Result;
    visitLikeOptions?: (ctx: LikeOptionsContext) => Result;
    visitLikeOption?: (ctx: LikeOptionContext) => Result;
    visitCreateCatalog?: (ctx: CreateCatalogContext) => Result;
    visitCreateDatabase?: (ctx: CreateDatabaseContext) => Result;
    visitAsDatabase?: (ctx: AsDatabaseContext) => Result;
    visitIncludingTable?: (ctx: IncludingTableContext) => Result;
    visitExcludingTable?: (ctx: ExcludingTableContext) => Result;
    visitCreateView?: (ctx: CreateViewContext) => Result;
    visitCreateFunction?: (ctx: CreateFunctionContext) => Result;
    visitDrop?: (ctx: DropContext) => Result;
    visitDropTable?: (ctx: DropTableContext) => Result;
    visitDropDatabase?: (ctx: DropDatabaseContext) => Result;
    visitDropView?: (ctx: DropViewContext) => Result;
    visitDropFunction?: (ctx: DropFunctionContext) => Result;
    visitDropMaterializedTable?: (ctx: DropMaterializedTableContext) => Result;
    visitAddJar?: (ctx: AddJarContext) => Result;
    visitModuleStatement?: (ctx: ModuleStatementContext) => Result;
    visitLoadModule?: (ctx: LoadModuleContext) => Result;
    visitUnloadModule?: (ctx: UnloadModuleContext) => Result;
    visitUseModules?: (ctx: UseModulesContext) => Result;
    visitShowModules?: (ctx: ShowModulesContext) => Result;
    visitType?: (ctx: TypeContext) => Result;
    visitTypeName?: (ctx: TypeNameContext) => Result;
    visitSqlTypeName?: (ctx: SqlTypeNameContext) => Result;
    visitCollectionsTypeName?: (ctx: CollectionsTypeNameContext) => Result;
    visitChar?: (ctx: CharContext) => Result;
    visitVarchar?: (ctx: VarcharContext) => Result;
    visitDecimal?: (ctx: DecimalContext) => Result;
    visitVarbinary?: (ctx: VarbinaryContext) => Result;
    visitRowType?: (ctx: RowTypeContext) => Result;
    visitSystemFunction?: (ctx: SystemFunctionContext) => Result;
    visitJsonFunction?: (ctx: JsonFunctionContext) => Result;
    visitJsonExistsFunction?: (ctx: JsonExistsFunctionContext) => Result;
    visitJsonValueFunction?: (ctx: JsonValueFunctionContext) => Result;
    visitJsonQueryFunction?: (ctx: JsonQueryFunctionContext) => Result;
    visitJsonValue?: (ctx: JsonValueContext) => Result;
    visitPath?: (ctx: PathContext) => Result;
    visitJsonObjectFunction?: (ctx: JsonObjectFunctionContext) => Result;
    visitJsonObjectAggFunction?: (ctx: JsonObjectAggFunctionContext) => Result;
    visitJsonArrayFunction?: (ctx: JsonArrayFunctionContext) => Result;
    visitJsonArrayAggFunction?: (ctx: JsonArrayAggFunctionContext) => Result;
    visitJsonKeyVal?: (ctx: JsonKeyValContext) => Result;
    visitJsonVal?: (ctx: JsonValContext) => Result;
    visitNullBehavior?: (ctx: NullBehaviorContext) => Result;
    visitTemporalFunction?: (ctx: TemporalFunctionContext) => Result;
    visitTemporalOverlaps?: (ctx: TemporalOverlapsContext) => Result;
    visitTemporalDate?: (ctx: TemporalDateContext) => Result;
    visitTemporalTime?: (ctx: TemporalTimeContext) => Result;
    visitTemporalTimestamp?: (ctx: TemporalTimestampContext) => Result;
    visitYearMonthInterval?: (ctx: YearMonthIntervalContext) => Result;
    visitDayTimeInterval?: (ctx: DayTimeIntervalContext) => Result;
    visitYearUnit?: (ctx: YearUnitContext) => Result;
    visitMonthUnit?: (ctx: MonthUnitContext) => Result;
    visitDayUnit?: (ctx: DayUnitContext) => Result;
    visitHourUnit?: (ctx: HourUnitContext) => Result;
    visitMinuteUnit?: (ctx: MinuteUnitContext) => Result;
    visitSecondUnit?: (ctx: SecondUnitContext) => Result;
    visitTimeIntervalUnit?: (ctx: TimeIntervalUnitContext) => Result;
    visitTimePointUnit?: (ctx: TimePointUnitContext) => Result;
    visitAggregateWithin?: (ctx: AggregateWithinContext) => Result;
    visitAggregateFilter?: (ctx: AggregateFilterContext) => Result;
    visitAggregateNulls?: (ctx: AggregateNullsContext) => Result;
    visitOverWindow?: (ctx: OverWindowContext) => Result;
    visitExpressions?: (ctx: ExpressionsContext) => Result;
    visitParenthesisExpressions?: (ctx: ParenthesisExpressionsContext) => Result;
    visitParenthesisQuery?: (ctx: ParenthesisQueryContext) => Result;
    visitColumnAssignments?: (ctx: ColumnAssignmentsContext) => Result;
    visitColumnAssignment?: (ctx: ColumnAssignmentContext) => Result;
    visitValueAssignments?: (ctx: ValueAssignmentsContext) => Result;
    visitValueAssignment?: (ctx: ValueAssignmentContext) => Result;
    visitColumns?: (ctx: ColumnsContext) => Result;
    visitColumnsWithoutParenthesis?: (ctx: ColumnsWithoutParenthesisContext) => Result;
    visitComment?: (ctx: CommentContext) => Result;
    visitOrderBy?: (ctx: OrderByContext) => Result;
    visitOrderItems?: (ctx: OrderItemsContext) => Result;
    visitPartitionBy?: (ctx: PartitionByContext) => Result;
    visitMatchRecognize?: (ctx: MatchRecognizeContext) => Result;
    visitMeasures?: (ctx: MeasuresContext) => Result;
    visitMeasureColumns?: (ctx: MeasureColumnsContext) => Result;
    visitPerMatch?: (ctx: PerMatchContext) => Result;
    visitAfterMatch?: (ctx: AfterMatchContext) => Result;
    visitPatternMatch?: (ctx: PatternMatchContext) => Result;
    visitWithinMatch?: (ctx: WithinMatchContext) => Result;
    visitSubsetMatch?: (ctx: SubsetMatchContext) => Result;
    visitSubsetItems?: (ctx: SubsetItemsContext) => Result;
    visitSubsetItem?: (ctx: SubsetItemContext) => Result;
    visitDefineMatch?: (ctx: DefineMatchContext) => Result;
    visitDefineItems?: (ctx: DefineItemsContext) => Result;
    visitDefineItem?: (ctx: DefineItemContext) => Result;
    visitMeasureColumn?: (ctx: MeasureColumnContext) => Result;
    visitPattern?: (ctx: PatternContext) => Result;
    visitPatternTerm?: (ctx: PatternTermContext) => Result;
    visitPatternFactor?: (ctx: PatternFactorContext) => Result;
    visitPatternPrimary?: (ctx: PatternPrimaryContext) => Result;
    visitPatternQuantifier?: (ctx: PatternQuantifierContext) => Result;
    visitAlias?: (ctx: AliasContext) => Result;
    visitAliases?: (ctx: AliasesContext) => Result;
    visitKeyword?: (ctx: KeywordContext) => Result;
    visitAnyName?: (ctx: AnyNameContext) => Result;
    visitAnyNonStringName?: (ctx: AnyNonStringNameContext) => Result;
    visitArrowWindowFunction?: (ctx: ArrowWindowFunctionContext) => Result;
    visitCharsetIntroducer?: (ctx: CharsetIntroducerContext) => Result;
    visitCharsetLiteral?: (ctx: CharsetLiteralContext) => Result;
    visitLiteralValue?: (ctx: LiteralValueContext) => Result;
    visitWhenExpr?: (ctx: WhenExprContext) => Result;
    visitThenExpr?: (ctx: ThenExprContext) => Result;
    visitElseExpr?: (ctx: ElseExprContext) => Result;
    visitCaseEnd?: (ctx: CaseEndContext) => Result;
    visitArrayConstruct?: (ctx: ArrayConstructContext) => Result;
    visitCompare?: (ctx: CompareContext) => Result;
    visitLogicalBind?: (ctx: LogicalBindContext) => Result;
    visitPredicate?: (ctx: PredicateContext) => Result;
    visitExpr?: (ctx: ExprContext) => Result;
    visitBooleanExpr?: (ctx: BooleanExprContext) => Result;
    visitValueExpr?: (ctx: ValueExprContext) => Result;
    visitSubQuery?: (ctx: SubQueryContext) => Result;
    visitFunctionCall?: (ctx: FunctionCallContext) => Result;
    visitPrimaryExpr?: (ctx: PrimaryExprContext) => Result;
    visitString?: (ctx: StringContext) => Result;
    visitName?: (ctx: NameContext) => Result;
    visitColumnName?: (ctx: ColumnNameContext) => Result;
    visitTableName?: (ctx: TableNameContext) => Result;
    visitDatabaseName?: (ctx: DatabaseNameContext) => Result;
    visitCatalogName?: (ctx: CatalogNameContext) => Result;
    visitViewName?: (ctx: ViewNameContext) => Result;
    visitFunctionName?: (ctx: FunctionNameContext) => Result;
    visitColumn?: (ctx: ColumnContext) => Result;
    visitView?: (ctx: ViewContext) => Result;
    visitTable?: (ctx: TableContext) => Result;
    visitDatabase?: (ctx: DatabaseContext) => Result;
    visitCatalog?: (ctx: CatalogContext) => Result;
    visitReservedKeywords?: (ctx: ReservedKeywordsContext) => Result;
    visitNonReservedKeywords?: (ctx: NonReservedKeywordsContext) => Result;
    visitCommonKeywords?: (ctx: CommonKeywordsContext) => Result;
}
