import { ParseTreeListener } from "antlr4ts/tree/ParseTreeListener";
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 { DistributedByContext } from "./FlinkSQLParser";
import { IntoBucketsContext } 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 FlinkSQLParserListener extends ParseTreeListener {
    enterColumnReference?: (ctx: ColumnReferenceContext) => void;
    exitColumnReference?: (ctx: ColumnReferenceContext) => void;
    enterStar?: (ctx: StarContext) => void;
    exitStar?: (ctx: StarContext) => void;
    enterDereference?: (ctx: DereferenceContext) => void;
    exitDereference?: (ctx: DereferenceContext) => void;
    enterLogicalNot?: (ctx: LogicalNotContext) => void;
    exitLogicalNot?: (ctx: LogicalNotContext) => void;
    enterExists?: (ctx: ExistsContext) => void;
    exitExists?: (ctx: ExistsContext) => void;
    enterPredicated?: (ctx: PredicatedContext) => void;
    exitPredicated?: (ctx: PredicatedContext) => void;
    enterLogicalBinary?: (ctx: LogicalBinaryContext) => void;
    exitLogicalBinary?: (ctx: LogicalBinaryContext) => void;
    enterValueExpressionDefault?: (ctx: ValueExpressionDefaultContext) => void;
    exitValueExpressionDefault?: (ctx: ValueExpressionDefaultContext) => void;
    enterArithmeticUnary?: (ctx: ArithmeticUnaryContext) => void;
    exitArithmeticUnary?: (ctx: ArithmeticUnaryContext) => void;
    enterArithmeticBinary?: (ctx: ArithmeticBinaryContext) => void;
    exitArithmeticBinary?: (ctx: ArithmeticBinaryContext) => void;
    enterComparison?: (ctx: ComparisonContext) => void;
    exitComparison?: (ctx: ComparisonContext) => void;
    enterProgram?: (ctx: ProgramContext) => void;
    exitProgram?: (ctx: ProgramContext) => void;
    enterStatements?: (ctx: StatementsContext) => void;
    exitStatements?: (ctx: StatementsContext) => void;
    enterStatement?: (ctx: StatementContext) => void;
    exitStatement?: (ctx: StatementContext) => void;
    enterStatementEnd?: (ctx: StatementEndContext) => void;
    exitStatementEnd?: (ctx: StatementEndContext) => void;
    enterEnd?: (ctx: EndContext) => void;
    exitEnd?: (ctx: EndContext) => void;
    enterAutoOptimize?: (ctx: AutoOptimizeContext) => void;
    exitAutoOptimize?: (ctx: AutoOptimizeContext) => void;
    enterAutoOptimizeTable?: (ctx: AutoOptimizeTableContext) => void;
    exitAutoOptimizeTable?: (ctx: AutoOptimizeTableContext) => void;
    enterAutoOptimizeDatabase?: (ctx: AutoOptimizeDatabaseContext) => void;
    exitAutoOptimizeDatabase?: (ctx: AutoOptimizeDatabaseContext) => void;
    enterAnalyze?: (ctx: AnalyzeContext) => void;
    exitAnalyze?: (ctx: AnalyzeContext) => void;
    enterQuery?: (ctx: QueryContext) => void;
    exitQuery?: (ctx: QueryContext) => void;
    enterQueryTerm?: (ctx: QueryTermContext) => void;
    exitQueryTerm?: (ctx: QueryTermContext) => void;
    enterQueryPrimary?: (ctx: QueryPrimaryContext) => void;
    exitQueryPrimary?: (ctx: QueryPrimaryContext) => void;
    enterCtes?: (ctx: CtesContext) => void;
    exitCtes?: (ctx: CtesContext) => void;
    enterMapQuery?: (ctx: MapQueryContext) => void;
    exitMapQuery?: (ctx: MapQueryContext) => void;
    enterQueryOrderBy?: (ctx: QueryOrderByContext) => void;
    exitQueryOrderBy?: (ctx: QueryOrderByContext) => void;
    enterQueryLimit?: (ctx: QueryLimitContext) => void;
    exitQueryLimit?: (ctx: QueryLimitContext) => void;
    enterQueryOffset?: (ctx: QueryOffsetContext) => void;
    exitQueryOffset?: (ctx: QueryOffsetContext) => void;
    enterQueryFetch?: (ctx: QueryFetchContext) => void;
    exitQueryFetch?: (ctx: QueryFetchContext) => void;
    enterWithItem?: (ctx: WithItemContext) => void;
    exitWithItem?: (ctx: WithItemContext) => void;
    enterOrderItem?: (ctx: OrderItemContext) => void;
    exitOrderItem?: (ctx: OrderItemContext) => void;
    enterSelectClause?: (ctx: SelectClauseContext) => void;
    exitSelectClause?: (ctx: SelectClauseContext) => void;
    enterSelect?: (ctx: SelectContext) => void;
    exitSelect?: (ctx: SelectContext) => void;
    enterProjectItems?: (ctx: ProjectItemsContext) => void;
    exitProjectItems?: (ctx: ProjectItemsContext) => void;
    enterFromTable?: (ctx: FromTableContext) => void;
    exitFromTable?: (ctx: FromTableContext) => void;
    enterWhere?: (ctx: WhereContext) => void;
    exitWhere?: (ctx: WhereContext) => void;
    enterGroupBy?: (ctx: GroupByContext) => void;
    exitGroupBy?: (ctx: GroupByContext) => void;
    enterGroupItems?: (ctx: GroupItemsContext) => void;
    exitGroupItems?: (ctx: GroupItemsContext) => void;
    enterHaving?: (ctx: HavingContext) => void;
    exitHaving?: (ctx: HavingContext) => void;
    enterWindowSelect?: (ctx: WindowSelectContext) => void;
    exitWindowSelect?: (ctx: WindowSelectContext) => void;
    enterProjectItem?: (ctx: ProjectItemContext) => void;
    exitProjectItem?: (ctx: ProjectItemContext) => void;
    enterSetQuantifier?: (ctx: SetQuantifierContext) => void;
    exitSetQuantifier?: (ctx: SetQuantifierContext) => void;
    enterTableExpression?: (ctx: TableExpressionContext) => void;
    exitTableExpression?: (ctx: TableExpressionContext) => void;
    enterTableExpr?: (ctx: TableExprContext) => void;
    exitTableExpr?: (ctx: TableExprContext) => void;
    enterMapTable?: (ctx: MapTableContext) => void;
    exitMapTable?: (ctx: MapTableContext) => void;
    enterJoinCondition?: (ctx: JoinConditionContext) => void;
    exitJoinCondition?: (ctx: JoinConditionContext) => void;
    enterCommaTable?: (ctx: CommaTableContext) => void;
    exitCommaTable?: (ctx: CommaTableContext) => void;
    enterTableReference?: (ctx: TableReferenceContext) => void;
    exitTableReference?: (ctx: TableReferenceContext) => void;
    enterTableDim?: (ctx: TableDimContext) => void;
    exitTableDim?: (ctx: TableDimContext) => void;
    enterTablePrimary?: (ctx: TablePrimaryContext) => void;
    exitTablePrimary?: (ctx: TablePrimaryContext) => void;
    enterTableSource?: (ctx: TableSourceContext) => void;
    exitTableSource?: (ctx: TableSourceContext) => void;
    enterTableLateral?: (ctx: TableLateralContext) => void;
    exitTableLateral?: (ctx: TableLateralContext) => void;
    enterTableQuery?: (ctx: TableQueryContext) => void;
    exitTableQuery?: (ctx: TableQueryContext) => void;
    enterHints?: (ctx: HintsContext) => void;
    exitHints?: (ctx: HintsContext) => void;
    enterHint?: (ctx: HintContext) => void;
    exitHint?: (ctx: HintContext) => void;
    enterHintOptions?: (ctx: HintOptionsContext) => void;
    exitHintOptions?: (ctx: HintOptionsContext) => void;
    enterHintKVOption?: (ctx: HintKVOptionContext) => void;
    exitHintKVOption?: (ctx: HintKVOptionContext) => void;
    enterOptionValue?: (ctx: OptionValueContext) => void;
    exitOptionValue?: (ctx: OptionValueContext) => void;
    enterOptionName?: (ctx: OptionNameContext) => void;
    exitOptionName?: (ctx: OptionNameContext) => void;
    enterPivot?: (ctx: PivotContext) => void;
    exitPivot?: (ctx: PivotContext) => void;
    enterPivotAggs?: (ctx: PivotAggsContext) => void;
    exitPivotAggs?: (ctx: PivotAggsContext) => void;
    enterForPivotList?: (ctx: ForPivotListContext) => void;
    exitForPivotList?: (ctx: ForPivotListContext) => void;
    enterPivotAgg?: (ctx: PivotAggContext) => void;
    exitPivotAgg?: (ctx: PivotAggContext) => void;
    enterPivotList?: (ctx: PivotListContext) => void;
    exitPivotList?: (ctx: PivotListContext) => void;
    enterColumnOrList?: (ctx: ColumnOrListContext) => void;
    exitColumnOrList?: (ctx: ColumnOrListContext) => void;
    enterExprOrList?: (ctx: ExprOrListContext) => void;
    exitExprOrList?: (ctx: ExprOrListContext) => void;
    enterInPivotExprs?: (ctx: InPivotExprsContext) => void;
    exitInPivotExprs?: (ctx: InPivotExprsContext) => void;
    enterPivotExprs?: (ctx: PivotExprsContext) => void;
    exitPivotExprs?: (ctx: PivotExprsContext) => void;
    enterPivotExpr?: (ctx: PivotExprContext) => void;
    exitPivotExpr?: (ctx: PivotExprContext) => void;
    enterUnpivot?: (ctx: UnpivotContext) => void;
    exitUnpivot?: (ctx: UnpivotContext) => void;
    enterUnpivotMeasureList?: (ctx: UnpivotMeasureListContext) => void;
    exitUnpivotMeasureList?: (ctx: UnpivotMeasureListContext) => void;
    enterUnpivotAxisList?: (ctx: UnpivotAxisListContext) => void;
    exitUnpivotAxisList?: (ctx: UnpivotAxisListContext) => void;
    enterUnpivotValue?: (ctx: UnpivotValueContext) => void;
    exitUnpivotValue?: (ctx: UnpivotValueContext) => void;
    enterValues?: (ctx: ValuesContext) => void;
    exitValues?: (ctx: ValuesContext) => void;
    enterValuesRows?: (ctx: ValuesRowsContext) => void;
    exitValuesRows?: (ctx: ValuesRowsContext) => void;
    enterValuesRowsParenthesis?: (ctx: ValuesRowsParenthesisContext) => void;
    exitValuesRowsParenthesis?: (ctx: ValuesRowsParenthesisContext) => void;
    enterValueRow?: (ctx: ValueRowContext) => void;
    exitValueRow?: (ctx: ValueRowContext) => void;
    enterGroupItem?: (ctx: GroupItemContext) => void;
    exitGroupItem?: (ctx: GroupItemContext) => void;
    enterGroupingSets?: (ctx: GroupingSetsContext) => void;
    exitGroupingSets?: (ctx: GroupingSetsContext) => void;
    enterParenthesisGroupItems?: (ctx: ParenthesisGroupItemsContext) => void;
    exitParenthesisGroupItems?: (ctx: ParenthesisGroupItemsContext) => void;
    enterWindow?: (ctx: WindowContext) => void;
    exitWindow?: (ctx: WindowContext) => void;
    enterWindowSpec?: (ctx: WindowSpecContext) => void;
    exitWindowSpec?: (ctx: WindowSpecContext) => void;
    enterRangeOrRows?: (ctx: RangeOrRowsContext) => void;
    exitRangeOrRows?: (ctx: RangeOrRowsContext) => void;
    enterSetStatement?: (ctx: SetStatementContext) => void;
    exitSetStatement?: (ctx: SetStatementContext) => void;
    enterResetStatement?: (ctx: ResetStatementContext) => void;
    exitResetStatement?: (ctx: ResetStatementContext) => void;
    enterAlter?: (ctx: AlterContext) => void;
    exitAlter?: (ctx: AlterContext) => void;
    enterAlterTable?: (ctx: AlterTableContext) => void;
    exitAlterTable?: (ctx: AlterTableContext) => void;
    enterAlterView?: (ctx: AlterViewContext) => void;
    exitAlterView?: (ctx: AlterViewContext) => void;
    enterAlterDatabase?: (ctx: AlterDatabaseContext) => void;
    exitAlterDatabase?: (ctx: AlterDatabaseContext) => void;
    enterAlterFunction?: (ctx: AlterFunctionContext) => void;
    exitAlterFunction?: (ctx: AlterFunctionContext) => void;
    enterAlterMaterializedTable?: (ctx: AlterMaterializedTableContext) => void;
    exitAlterMaterializedTable?: (ctx: AlterMaterializedTableContext) => void;
    enterRenameTo?: (ctx: RenameToContext) => void;
    exitRenameTo?: (ctx: RenameToContext) => void;
    enterSetValues?: (ctx: SetValuesContext) => void;
    exitSetValues?: (ctx: SetValuesContext) => void;
    enterExplain?: (ctx: ExplainContext) => void;
    exitExplain?: (ctx: ExplainContext) => void;
    enterExplainDetails?: (ctx: ExplainDetailsContext) => void;
    exitExplainDetails?: (ctx: ExplainDetailsContext) => void;
    enterExplainDetail?: (ctx: ExplainDetailContext) => void;
    exitExplainDetail?: (ctx: ExplainDetailContext) => void;
    enterDescribe?: (ctx: DescribeContext) => void;
    exitDescribe?: (ctx: DescribeContext) => void;
    enterDescribeCatalog?: (ctx: DescribeCatalogContext) => void;
    exitDescribeCatalog?: (ctx: DescribeCatalogContext) => void;
    enterDescribeDatabase?: (ctx: DescribeDatabaseContext) => void;
    exitDescribeDatabase?: (ctx: DescribeDatabaseContext) => void;
    enterDescribeTable?: (ctx: DescribeTableContext) => void;
    exitDescribeTable?: (ctx: DescribeTableContext) => void;
    enterInsert?: (ctx: InsertContext) => void;
    exitInsert?: (ctx: InsertContext) => void;
    enterPartition?: (ctx: PartitionContext) => void;
    exitPartition?: (ctx: PartitionContext) => void;
    enterInsertMultiple?: (ctx: InsertMultipleContext) => void;
    exitInsertMultiple?: (ctx: InsertMultipleContext) => void;
    enterExecuteStatementSet?: (ctx: ExecuteStatementSetContext) => void;
    exitExecuteStatementSet?: (ctx: ExecuteStatementSetContext) => void;
    enterBeginStatementSet?: (ctx: BeginStatementSetContext) => void;
    exitBeginStatementSet?: (ctx: BeginStatementSetContext) => void;
    enterUse?: (ctx: UseContext) => void;
    exitUse?: (ctx: UseContext) => void;
    enterShow?: (ctx: ShowContext) => void;
    exitShow?: (ctx: ShowContext) => void;
    enterDdlStatement?: (ctx: DdlStatementContext) => void;
    exitDdlStatement?: (ctx: DdlStatementContext) => void;
    enterCreate?: (ctx: CreateContext) => void;
    exitCreate?: (ctx: CreateContext) => void;
    enterCreateTable?: (ctx: CreateTableContext) => void;
    exitCreateTable?: (ctx: CreateTableContext) => void;
    enterCreateMaterializedTable?: (ctx: CreateMaterializedTableContext) => void;
    exitCreateMaterializedTable?: (ctx: CreateMaterializedTableContext) => void;
    enterDefineValues?: (ctx: DefineValuesContext) => void;
    exitDefineValues?: (ctx: DefineValuesContext) => void;
    enterPartitionedBy?: (ctx: PartitionedByContext) => void;
    exitPartitionedBy?: (ctx: PartitionedByContext) => void;
    enterDistributedBy?: (ctx: DistributedByContext) => void;
    exitDistributedBy?: (ctx: DistributedByContext) => void;
    enterIntoBuckets?: (ctx: IntoBucketsContext) => void;
    exitIntoBuckets?: (ctx: IntoBucketsContext) => void;
    enterWithValues?: (ctx: WithValuesContext) => void;
    exitWithValues?: (ctx: WithValuesContext) => void;
    enterLikeTable?: (ctx: LikeTableContext) => void;
    exitLikeTable?: (ctx: LikeTableContext) => void;
    enterAsTable?: (ctx: AsTableContext) => void;
    exitAsTable?: (ctx: AsTableContext) => void;
    enterFreshness?: (ctx: FreshnessContext) => void;
    exitFreshness?: (ctx: FreshnessContext) => void;
    enterRefreshMode?: (ctx: RefreshModeContext) => void;
    exitRefreshMode?: (ctx: RefreshModeContext) => void;
    enterTableElement?: (ctx: TableElementContext) => void;
    exitTableElement?: (ctx: TableElementContext) => void;
    enterColumnDefinition?: (ctx: ColumnDefinitionContext) => void;
    exitColumnDefinition?: (ctx: ColumnDefinitionContext) => void;
    enterColumnConstraint?: (ctx: ColumnConstraintContext) => void;
    exitColumnConstraint?: (ctx: ColumnConstraintContext) => void;
    enterTableConstraint?: (ctx: TableConstraintContext) => void;
    exitTableConstraint?: (ctx: TableConstraintContext) => void;
    enterWatermarkDefinition?: (ctx: WatermarkDefinitionContext) => void;
    exitWatermarkDefinition?: (ctx: WatermarkDefinitionContext) => void;
    enterLikeConfig?: (ctx: LikeConfigContext) => void;
    exitLikeConfig?: (ctx: LikeConfigContext) => void;
    enterLikeOptions?: (ctx: LikeOptionsContext) => void;
    exitLikeOptions?: (ctx: LikeOptionsContext) => void;
    enterLikeOption?: (ctx: LikeOptionContext) => void;
    exitLikeOption?: (ctx: LikeOptionContext) => void;
    enterCreateCatalog?: (ctx: CreateCatalogContext) => void;
    exitCreateCatalog?: (ctx: CreateCatalogContext) => void;
    enterCreateDatabase?: (ctx: CreateDatabaseContext) => void;
    exitCreateDatabase?: (ctx: CreateDatabaseContext) => void;
    enterAsDatabase?: (ctx: AsDatabaseContext) => void;
    exitAsDatabase?: (ctx: AsDatabaseContext) => void;
    enterIncludingTable?: (ctx: IncludingTableContext) => void;
    exitIncludingTable?: (ctx: IncludingTableContext) => void;
    enterExcludingTable?: (ctx: ExcludingTableContext) => void;
    exitExcludingTable?: (ctx: ExcludingTableContext) => void;
    enterCreateView?: (ctx: CreateViewContext) => void;
    exitCreateView?: (ctx: CreateViewContext) => void;
    enterCreateFunction?: (ctx: CreateFunctionContext) => void;
    exitCreateFunction?: (ctx: CreateFunctionContext) => void;
    enterDrop?: (ctx: DropContext) => void;
    exitDrop?: (ctx: DropContext) => void;
    enterDropTable?: (ctx: DropTableContext) => void;
    exitDropTable?: (ctx: DropTableContext) => void;
    enterDropDatabase?: (ctx: DropDatabaseContext) => void;
    exitDropDatabase?: (ctx: DropDatabaseContext) => void;
    enterDropView?: (ctx: DropViewContext) => void;
    exitDropView?: (ctx: DropViewContext) => void;
    enterDropFunction?: (ctx: DropFunctionContext) => void;
    exitDropFunction?: (ctx: DropFunctionContext) => void;
    enterDropMaterializedTable?: (ctx: DropMaterializedTableContext) => void;
    exitDropMaterializedTable?: (ctx: DropMaterializedTableContext) => void;
    enterAddJar?: (ctx: AddJarContext) => void;
    exitAddJar?: (ctx: AddJarContext) => void;
    enterModuleStatement?: (ctx: ModuleStatementContext) => void;
    exitModuleStatement?: (ctx: ModuleStatementContext) => void;
    enterLoadModule?: (ctx: LoadModuleContext) => void;
    exitLoadModule?: (ctx: LoadModuleContext) => void;
    enterUnloadModule?: (ctx: UnloadModuleContext) => void;
    exitUnloadModule?: (ctx: UnloadModuleContext) => void;
    enterUseModules?: (ctx: UseModulesContext) => void;
    exitUseModules?: (ctx: UseModulesContext) => void;
    enterShowModules?: (ctx: ShowModulesContext) => void;
    exitShowModules?: (ctx: ShowModulesContext) => void;
    enterType?: (ctx: TypeContext) => void;
    exitType?: (ctx: TypeContext) => void;
    enterTypeName?: (ctx: TypeNameContext) => void;
    exitTypeName?: (ctx: TypeNameContext) => void;
    enterSqlTypeName?: (ctx: SqlTypeNameContext) => void;
    exitSqlTypeName?: (ctx: SqlTypeNameContext) => void;
    enterCollectionsTypeName?: (ctx: CollectionsTypeNameContext) => void;
    exitCollectionsTypeName?: (ctx: CollectionsTypeNameContext) => void;
    enterChar?: (ctx: CharContext) => void;
    exitChar?: (ctx: CharContext) => void;
    enterVarchar?: (ctx: VarcharContext) => void;
    exitVarchar?: (ctx: VarcharContext) => void;
    enterDecimal?: (ctx: DecimalContext) => void;
    exitDecimal?: (ctx: DecimalContext) => void;
    enterVarbinary?: (ctx: VarbinaryContext) => void;
    exitVarbinary?: (ctx: VarbinaryContext) => void;
    enterRowType?: (ctx: RowTypeContext) => void;
    exitRowType?: (ctx: RowTypeContext) => void;
    enterSystemFunction?: (ctx: SystemFunctionContext) => void;
    exitSystemFunction?: (ctx: SystemFunctionContext) => void;
    enterJsonFunction?: (ctx: JsonFunctionContext) => void;
    exitJsonFunction?: (ctx: JsonFunctionContext) => void;
    enterJsonExistsFunction?: (ctx: JsonExistsFunctionContext) => void;
    exitJsonExistsFunction?: (ctx: JsonExistsFunctionContext) => void;
    enterJsonValueFunction?: (ctx: JsonValueFunctionContext) => void;
    exitJsonValueFunction?: (ctx: JsonValueFunctionContext) => void;
    enterJsonQueryFunction?: (ctx: JsonQueryFunctionContext) => void;
    exitJsonQueryFunction?: (ctx: JsonQueryFunctionContext) => void;
    enterJsonValue?: (ctx: JsonValueContext) => void;
    exitJsonValue?: (ctx: JsonValueContext) => void;
    enterPath?: (ctx: PathContext) => void;
    exitPath?: (ctx: PathContext) => void;
    enterJsonObjectFunction?: (ctx: JsonObjectFunctionContext) => void;
    exitJsonObjectFunction?: (ctx: JsonObjectFunctionContext) => void;
    enterJsonObjectAggFunction?: (ctx: JsonObjectAggFunctionContext) => void;
    exitJsonObjectAggFunction?: (ctx: JsonObjectAggFunctionContext) => void;
    enterJsonArrayFunction?: (ctx: JsonArrayFunctionContext) => void;
    exitJsonArrayFunction?: (ctx: JsonArrayFunctionContext) => void;
    enterJsonArrayAggFunction?: (ctx: JsonArrayAggFunctionContext) => void;
    exitJsonArrayAggFunction?: (ctx: JsonArrayAggFunctionContext) => void;
    enterJsonKeyVal?: (ctx: JsonKeyValContext) => void;
    exitJsonKeyVal?: (ctx: JsonKeyValContext) => void;
    enterJsonVal?: (ctx: JsonValContext) => void;
    exitJsonVal?: (ctx: JsonValContext) => void;
    enterNullBehavior?: (ctx: NullBehaviorContext) => void;
    exitNullBehavior?: (ctx: NullBehaviorContext) => void;
    enterTemporalFunction?: (ctx: TemporalFunctionContext) => void;
    exitTemporalFunction?: (ctx: TemporalFunctionContext) => void;
    enterTemporalOverlaps?: (ctx: TemporalOverlapsContext) => void;
    exitTemporalOverlaps?: (ctx: TemporalOverlapsContext) => void;
    enterTemporalDate?: (ctx: TemporalDateContext) => void;
    exitTemporalDate?: (ctx: TemporalDateContext) => void;
    enterTemporalTime?: (ctx: TemporalTimeContext) => void;
    exitTemporalTime?: (ctx: TemporalTimeContext) => void;
    enterTemporalTimestamp?: (ctx: TemporalTimestampContext) => void;
    exitTemporalTimestamp?: (ctx: TemporalTimestampContext) => void;
    enterYearMonthInterval?: (ctx: YearMonthIntervalContext) => void;
    exitYearMonthInterval?: (ctx: YearMonthIntervalContext) => void;
    enterDayTimeInterval?: (ctx: DayTimeIntervalContext) => void;
    exitDayTimeInterval?: (ctx: DayTimeIntervalContext) => void;
    enterYearUnit?: (ctx: YearUnitContext) => void;
    exitYearUnit?: (ctx: YearUnitContext) => void;
    enterMonthUnit?: (ctx: MonthUnitContext) => void;
    exitMonthUnit?: (ctx: MonthUnitContext) => void;
    enterDayUnit?: (ctx: DayUnitContext) => void;
    exitDayUnit?: (ctx: DayUnitContext) => void;
    enterHourUnit?: (ctx: HourUnitContext) => void;
    exitHourUnit?: (ctx: HourUnitContext) => void;
    enterMinuteUnit?: (ctx: MinuteUnitContext) => void;
    exitMinuteUnit?: (ctx: MinuteUnitContext) => void;
    enterSecondUnit?: (ctx: SecondUnitContext) => void;
    exitSecondUnit?: (ctx: SecondUnitContext) => void;
    enterTimeIntervalUnit?: (ctx: TimeIntervalUnitContext) => void;
    exitTimeIntervalUnit?: (ctx: TimeIntervalUnitContext) => void;
    enterTimePointUnit?: (ctx: TimePointUnitContext) => void;
    exitTimePointUnit?: (ctx: TimePointUnitContext) => void;
    enterAggregateWithin?: (ctx: AggregateWithinContext) => void;
    exitAggregateWithin?: (ctx: AggregateWithinContext) => void;
    enterAggregateFilter?: (ctx: AggregateFilterContext) => void;
    exitAggregateFilter?: (ctx: AggregateFilterContext) => void;
    enterAggregateNulls?: (ctx: AggregateNullsContext) => void;
    exitAggregateNulls?: (ctx: AggregateNullsContext) => void;
    enterOverWindow?: (ctx: OverWindowContext) => void;
    exitOverWindow?: (ctx: OverWindowContext) => void;
    enterExpressions?: (ctx: ExpressionsContext) => void;
    exitExpressions?: (ctx: ExpressionsContext) => void;
    enterParenthesisExpressions?: (ctx: ParenthesisExpressionsContext) => void;
    exitParenthesisExpressions?: (ctx: ParenthesisExpressionsContext) => void;
    enterParenthesisQuery?: (ctx: ParenthesisQueryContext) => void;
    exitParenthesisQuery?: (ctx: ParenthesisQueryContext) => void;
    enterColumnAssignments?: (ctx: ColumnAssignmentsContext) => void;
    exitColumnAssignments?: (ctx: ColumnAssignmentsContext) => void;
    enterColumnAssignment?: (ctx: ColumnAssignmentContext) => void;
    exitColumnAssignment?: (ctx: ColumnAssignmentContext) => void;
    enterValueAssignments?: (ctx: ValueAssignmentsContext) => void;
    exitValueAssignments?: (ctx: ValueAssignmentsContext) => void;
    enterValueAssignment?: (ctx: ValueAssignmentContext) => void;
    exitValueAssignment?: (ctx: ValueAssignmentContext) => void;
    enterColumns?: (ctx: ColumnsContext) => void;
    exitColumns?: (ctx: ColumnsContext) => void;
    enterColumnsWithoutParenthesis?: (ctx: ColumnsWithoutParenthesisContext) => void;
    exitColumnsWithoutParenthesis?: (ctx: ColumnsWithoutParenthesisContext) => void;
    enterComment?: (ctx: CommentContext) => void;
    exitComment?: (ctx: CommentContext) => void;
    enterOrderBy?: (ctx: OrderByContext) => void;
    exitOrderBy?: (ctx: OrderByContext) => void;
    enterOrderItems?: (ctx: OrderItemsContext) => void;
    exitOrderItems?: (ctx: OrderItemsContext) => void;
    enterPartitionBy?: (ctx: PartitionByContext) => void;
    exitPartitionBy?: (ctx: PartitionByContext) => void;
    enterMatchRecognize?: (ctx: MatchRecognizeContext) => void;
    exitMatchRecognize?: (ctx: MatchRecognizeContext) => void;
    enterMeasures?: (ctx: MeasuresContext) => void;
    exitMeasures?: (ctx: MeasuresContext) => void;
    enterMeasureColumns?: (ctx: MeasureColumnsContext) => void;
    exitMeasureColumns?: (ctx: MeasureColumnsContext) => void;
    enterPerMatch?: (ctx: PerMatchContext) => void;
    exitPerMatch?: (ctx: PerMatchContext) => void;
    enterAfterMatch?: (ctx: AfterMatchContext) => void;
    exitAfterMatch?: (ctx: AfterMatchContext) => void;
    enterPatternMatch?: (ctx: PatternMatchContext) => void;
    exitPatternMatch?: (ctx: PatternMatchContext) => void;
    enterWithinMatch?: (ctx: WithinMatchContext) => void;
    exitWithinMatch?: (ctx: WithinMatchContext) => void;
    enterSubsetMatch?: (ctx: SubsetMatchContext) => void;
    exitSubsetMatch?: (ctx: SubsetMatchContext) => void;
    enterSubsetItems?: (ctx: SubsetItemsContext) => void;
    exitSubsetItems?: (ctx: SubsetItemsContext) => void;
    enterSubsetItem?: (ctx: SubsetItemContext) => void;
    exitSubsetItem?: (ctx: SubsetItemContext) => void;
    enterDefineMatch?: (ctx: DefineMatchContext) => void;
    exitDefineMatch?: (ctx: DefineMatchContext) => void;
    enterDefineItems?: (ctx: DefineItemsContext) => void;
    exitDefineItems?: (ctx: DefineItemsContext) => void;
    enterDefineItem?: (ctx: DefineItemContext) => void;
    exitDefineItem?: (ctx: DefineItemContext) => void;
    enterMeasureColumn?: (ctx: MeasureColumnContext) => void;
    exitMeasureColumn?: (ctx: MeasureColumnContext) => void;
    enterPattern?: (ctx: PatternContext) => void;
    exitPattern?: (ctx: PatternContext) => void;
    enterPatternTerm?: (ctx: PatternTermContext) => void;
    exitPatternTerm?: (ctx: PatternTermContext) => void;
    enterPatternFactor?: (ctx: PatternFactorContext) => void;
    exitPatternFactor?: (ctx: PatternFactorContext) => void;
    enterPatternPrimary?: (ctx: PatternPrimaryContext) => void;
    exitPatternPrimary?: (ctx: PatternPrimaryContext) => void;
    enterPatternQuantifier?: (ctx: PatternQuantifierContext) => void;
    exitPatternQuantifier?: (ctx: PatternQuantifierContext) => void;
    enterAlias?: (ctx: AliasContext) => void;
    exitAlias?: (ctx: AliasContext) => void;
    enterAliases?: (ctx: AliasesContext) => void;
    exitAliases?: (ctx: AliasesContext) => void;
    enterKeyword?: (ctx: KeywordContext) => void;
    exitKeyword?: (ctx: KeywordContext) => void;
    enterAnyName?: (ctx: AnyNameContext) => void;
    exitAnyName?: (ctx: AnyNameContext) => void;
    enterAnyNonStringName?: (ctx: AnyNonStringNameContext) => void;
    exitAnyNonStringName?: (ctx: AnyNonStringNameContext) => void;
    enterArrowWindowFunction?: (ctx: ArrowWindowFunctionContext) => void;
    exitArrowWindowFunction?: (ctx: ArrowWindowFunctionContext) => void;
    enterCharsetIntroducer?: (ctx: CharsetIntroducerContext) => void;
    exitCharsetIntroducer?: (ctx: CharsetIntroducerContext) => void;
    enterCharsetLiteral?: (ctx: CharsetLiteralContext) => void;
    exitCharsetLiteral?: (ctx: CharsetLiteralContext) => void;
    enterLiteralValue?: (ctx: LiteralValueContext) => void;
    exitLiteralValue?: (ctx: LiteralValueContext) => void;
    enterWhenExpr?: (ctx: WhenExprContext) => void;
    exitWhenExpr?: (ctx: WhenExprContext) => void;
    enterThenExpr?: (ctx: ThenExprContext) => void;
    exitThenExpr?: (ctx: ThenExprContext) => void;
    enterElseExpr?: (ctx: ElseExprContext) => void;
    exitElseExpr?: (ctx: ElseExprContext) => void;
    enterCaseEnd?: (ctx: CaseEndContext) => void;
    exitCaseEnd?: (ctx: CaseEndContext) => void;
    enterArrayConstruct?: (ctx: ArrayConstructContext) => void;
    exitArrayConstruct?: (ctx: ArrayConstructContext) => void;
    enterCompare?: (ctx: CompareContext) => void;
    exitCompare?: (ctx: CompareContext) => void;
    enterLogicalBind?: (ctx: LogicalBindContext) => void;
    exitLogicalBind?: (ctx: LogicalBindContext) => void;
    enterPredicate?: (ctx: PredicateContext) => void;
    exitPredicate?: (ctx: PredicateContext) => void;
    enterExpr?: (ctx: ExprContext) => void;
    exitExpr?: (ctx: ExprContext) => void;
    enterBooleanExpr?: (ctx: BooleanExprContext) => void;
    exitBooleanExpr?: (ctx: BooleanExprContext) => void;
    enterValueExpr?: (ctx: ValueExprContext) => void;
    exitValueExpr?: (ctx: ValueExprContext) => void;
    enterSubQuery?: (ctx: SubQueryContext) => void;
    exitSubQuery?: (ctx: SubQueryContext) => void;
    enterFunctionCall?: (ctx: FunctionCallContext) => void;
    exitFunctionCall?: (ctx: FunctionCallContext) => void;
    enterPrimaryExpr?: (ctx: PrimaryExprContext) => void;
    exitPrimaryExpr?: (ctx: PrimaryExprContext) => void;
    enterString?: (ctx: StringContext) => void;
    exitString?: (ctx: StringContext) => void;
    enterName?: (ctx: NameContext) => void;
    exitName?: (ctx: NameContext) => void;
    enterColumnName?: (ctx: ColumnNameContext) => void;
    exitColumnName?: (ctx: ColumnNameContext) => void;
    enterTableName?: (ctx: TableNameContext) => void;
    exitTableName?: (ctx: TableNameContext) => void;
    enterDatabaseName?: (ctx: DatabaseNameContext) => void;
    exitDatabaseName?: (ctx: DatabaseNameContext) => void;
    enterCatalogName?: (ctx: CatalogNameContext) => void;
    exitCatalogName?: (ctx: CatalogNameContext) => void;
    enterViewName?: (ctx: ViewNameContext) => void;
    exitViewName?: (ctx: ViewNameContext) => void;
    enterFunctionName?: (ctx: FunctionNameContext) => void;
    exitFunctionName?: (ctx: FunctionNameContext) => void;
    enterColumn?: (ctx: ColumnContext) => void;
    exitColumn?: (ctx: ColumnContext) => void;
    enterView?: (ctx: ViewContext) => void;
    exitView?: (ctx: ViewContext) => void;
    enterTable?: (ctx: TableContext) => void;
    exitTable?: (ctx: TableContext) => void;
    enterDatabase?: (ctx: DatabaseContext) => void;
    exitDatabase?: (ctx: DatabaseContext) => void;
    enterCatalog?: (ctx: CatalogContext) => void;
    exitCatalog?: (ctx: CatalogContext) => void;
    enterReservedKeywords?: (ctx: ReservedKeywordsContext) => void;
    exitReservedKeywords?: (ctx: ReservedKeywordsContext) => void;
    enterNonReservedKeywords?: (ctx: NonReservedKeywordsContext) => void;
    exitNonReservedKeywords?: (ctx: NonReservedKeywordsContext) => void;
    enterCommonKeywords?: (ctx: CommonKeywordsContext) => void;
    exitCommonKeywords?: (ctx: CommonKeywordsContext) => void;
}
