import { AbstractParseTreeVisitor } from "antlr4ng";
import { RootContext } from "./ClickHouseParser.js";
import { StatementsContext } from "./ClickHouseParser.js";
import { StatementContext } from "./ClickHouseParser.js";
import { NotInsertStatementContext } from "./ClickHouseParser.js";
import { CommonTableExpressionStatementContext } from "./ClickHouseParser.js";
import { NamedQueryContext } from "./ClickHouseParser.js";
import { ColumnAliasesContext } from "./ClickHouseParser.js";
import { AlterStatementContext } from "./ClickHouseParser.js";
import { AlterSettingsProfileStatementContext } from "./ClickHouseParser.js";
import { AlterNamedCollectionStatementContext } from "./ClickHouseParser.js";
import { AlterRoleStatementContext } from "./ClickHouseParser.js";
import { AlterPolicyExpressionContext } from "./ClickHouseParser.js";
import { AlterRowPolicyStatementContext } from "./ClickHouseParser.js";
import { AlterQuotaStatementContext } from "./ClickHouseParser.js";
import { AlterUserStatementContext } from "./ClickHouseParser.js";
import { RenameClauseContext } from "./ClickHouseParser.js";
import { AlterTableStatementContext } from "./ClickHouseParser.js";
import { AlterTableClauseContext } from "./ClickHouseParser.js";
import { AlterTableDeleteClauseContext } from "./ClickHouseParser.js";
import { AlterTableMaterializeClauseContext } from "./ClickHouseParser.js";
import { AlterTableDropClauseContext } from "./ClickHouseParser.js";
import { AlterTableClearClauseContext } from "./ClickHouseParser.js";
import { AlterTableAddClauseContext } from "./ClickHouseParser.js";
import { AlterTableModifyClauseContext } from "./ClickHouseParser.js";
import { AlterTableUpdateClauseContext } from "./ClickHouseParser.js";
import { FilterByNumberExpressionContext } from "./ClickHouseParser.js";
import { IdentifierEqualNumberContext } from "./ClickHouseParser.js";
import { ColumnEqualExpressionContext } from "./ClickHouseParser.js";
import { AssignmentExpressionListContext } from "./ClickHouseParser.js";
import { AssignmentExpressionContext } from "./ClickHouseParser.js";
import { TableColumnPropertyTypeContext } from "./ClickHouseParser.js";
import { PartitionExpressionContext } from "./ClickHouseParser.js";
import { PartitionClauseContext } from "./ClickHouseParser.js";
import { PartitionOrPartClauseContext } from "./ClickHouseParser.js";
import { AttachDictionaryStatementContext } from "./ClickHouseParser.js";
import { CheckStatementContext } from "./ClickHouseParser.js";
import { DeleteStatementContext } from "./ClickHouseParser.js";
import { CreateTableStatementContext } from "./ClickHouseParser.js";
import { CreateDatabaseStatementContext } from "./ClickHouseParser.js";
import { CreateDictionaryStatementContext } from "./ClickHouseParser.js";
import { CreateLiveViewStatementContext } from "./ClickHouseParser.js";
import { CreateMaterializedViewStatementContext } from "./ClickHouseParser.js";
import { CreateViewStatementContext } from "./ClickHouseParser.js";
import { StringIdentificationTypeContext } from "./ClickHouseParser.js";
import { KeyTypeClauseContext } from "./ClickHouseParser.js";
import { OtherIdentificationTypeContext } from "./ClickHouseParser.js";
import { UserIdentificationClauseContext } from "./ClickHouseParser.js";
import { ValidUntilClauseContext } from "./ClickHouseParser.js";
import { GrantsProviderContext } from "./ClickHouseParser.js";
import { GranteesClauseContext } from "./ClickHouseParser.js";
import { HostTypeContext } from "./ClickHouseParser.js";
import { HostClauseContext } from "./ClickHouseParser.js";
import { ExtendedSettingExpressionContext } from "./ClickHouseParser.js";
import { ExtendedSettingExpressionWithProfileClauseContext } from "./ClickHouseParser.js";
import { ExtendedSettingsWithProfileClauseContext } from "./ClickHouseParser.js";
import { InClauseContext } from "./ClickHouseParser.js";
import { DefaultRoleClauseContext } from "./ClickHouseParser.js";
import { CreateUserStatementContext } from "./ClickHouseParser.js";
import { ReplaceOrIfNotExistsClauseContext } from "./ClickHouseParser.js";
import { TableIdentifierOrAnyTableContext } from "./ClickHouseParser.js";
import { CreatePolicyExpressionContext } from "./ClickHouseParser.js";
import { IdentifierOrLiteralOrFunctionContext } from "./ClickHouseParser.js";
import { FunctionArgumentContext } from "./ClickHouseParser.js";
import { FunctionExpressionContext } from "./ClickHouseParser.js";
import { ConditionExpressionContext } from "./ClickHouseParser.js";
import { ConditionClauseContext } from "./ClickHouseParser.js";
import { SubjectOrAllOrExceptContext } from "./ClickHouseParser.js";
import { SubjectExpressionContext } from "./ClickHouseParser.js";
import { AsPermissiveOrRestrictiveContext } from "./ClickHouseParser.js";
import { UsingClauseContext } from "./ClickHouseParser.js";
import { CreateRowPolicyStatementContext } from "./ClickHouseParser.js";
import { QuotaKeyTypeContext } from "./ClickHouseParser.js";
import { QuotaKeyClauseContext } from "./ClickHouseParser.js";
import { QuotaRestrictionTypeContext } from "./ClickHouseParser.js";
import { StringOrNumberLiteralContext } from "./ClickHouseParser.js";
import { QuotaRestrictionExpressionContext } from "./ClickHouseParser.js";
import { QuotaRestrictionClauseContext } from "./ClickHouseParser.js";
import { QuotaForClauseContext } from "./ClickHouseParser.js";
import { IntervalOperandContext } from "./ClickHouseParser.js";
import { QuotaForListContext } from "./ClickHouseParser.js";
import { CreateQuotaStatementContext } from "./ClickHouseParser.js";
import { IdentifierListContext } from "./ClickHouseParser.js";
import { CreateRoleStatementContext } from "./ClickHouseParser.js";
import { ExtendedSettingExpressionWithProfileOrInheritClauseContext } from "./ClickHouseParser.js";
import { ExtendedSettingsWithInheritClauseContext } from "./ClickHouseParser.js";
import { CreateSettingsProfileStatementContext } from "./ClickHouseParser.js";
import { NamedCollectionExpressionContext } from "./ClickHouseParser.js";
import { NamedCollectionExpressionListContext } from "./ClickHouseParser.js";
import { CreateNamedCollectionStatementContext } from "./ClickHouseParser.js";
import { ExpressionOperandContext } from "./ClickHouseParser.js";
import { ExpressionContext } from "./ClickHouseParser.js";
import { CreateFunctionStatementContext } from "./ClickHouseParser.js";
import { OrderTypeContext } from "./ClickHouseParser.js";
import { CreateIndexStatementContext } from "./ClickHouseParser.js";
import { CreateStatementContext } from "./ClickHouseParser.js";
import { DictionarySchemaClauseContext } from "./ClickHouseParser.js";
import { DictionaryAttributeDefinitionContext } from "./ClickHouseParser.js";
import { DictionaryEngineClauseContext } from "./ClickHouseParser.js";
import { DictionaryPrimaryKeyClauseContext } from "./ClickHouseParser.js";
import { DictionaryArgumentExpressionContext } from "./ClickHouseParser.js";
import { SourceClauseContext } from "./ClickHouseParser.js";
import { LifetimeClauseContext } from "./ClickHouseParser.js";
import { LayoutClauseContext } from "./ClickHouseParser.js";
import { RangeClauseContext } from "./ClickHouseParser.js";
import { DictionarySettingsClauseContext } from "./ClickHouseParser.js";
import { ClusterClauseContext } from "./ClickHouseParser.js";
import { UuidClauseContext } from "./ClickHouseParser.js";
import { DestinationClauseContext } from "./ClickHouseParser.js";
import { SubqueryClauseContext } from "./ClickHouseParser.js";
import { SchemaDescriptionClauseContext } from "./ClickHouseParser.js";
import { SchemaAsTableClauseContext } from "./ClickHouseParser.js";
import { SchemaAsFunctionClauseContext } from "./ClickHouseParser.js";
import { EngineClauseContext } from "./ClickHouseParser.js";
import { PartitionByClauseContext } from "./ClickHouseParser.js";
import { PrimaryKeyClauseContext } from "./ClickHouseParser.js";
import { SampleByClauseContext } from "./ClickHouseParser.js";
import { TtlClauseContext } from "./ClickHouseParser.js";
import { EngineExpressionContext } from "./ClickHouseParser.js";
import { TableElementExpressionColumnContext } from "./ClickHouseParser.js";
import { TableElementExpressionConstraintContext } from "./ClickHouseParser.js";
import { TableElementExpressionIndexContext } from "./ClickHouseParser.js";
import { TableElementExpressionProjectionContext } from "./ClickHouseParser.js";
import { TableColumnDefinitionContext } from "./ClickHouseParser.js";
import { TableColumnPropertyExpressionContext } from "./ClickHouseParser.js";
import { TableIndexDefinitionContext } from "./ClickHouseParser.js";
import { TableProjectionDefinitionContext } from "./ClickHouseParser.js";
import { CodecExpressionContext } from "./ClickHouseParser.js";
import { CodecArgExpressionContext } from "./ClickHouseParser.js";
import { TtlExpressionContext } from "./ClickHouseParser.js";
import { DescribeStatementContext } from "./ClickHouseParser.js";
import { DropDatabaseStatementContext } from "./ClickHouseParser.js";
import { DropTableStatementContext } from "./ClickHouseParser.js";
import { ExistsDatabaseStatementContext } from "./ClickHouseParser.js";
import { ExistsTableStatementContext } from "./ClickHouseParser.js";
import { ExplainDefaultStatementContext } from "./ClickHouseParser.js";
import { ExplainASTStatementContext } from "./ClickHouseParser.js";
import { ExplainSyntaxStatementContext } from "./ClickHouseParser.js";
import { ExplainPipelineStatementContext } from "./ClickHouseParser.js";
import { ExplainPlanStatementContext } from "./ClickHouseParser.js";
import { ExplainQueryTreeStatementContext } from "./ClickHouseParser.js";
import { ExplainEstimateStatementContext } from "./ClickHouseParser.js";
import { RevokeStatementContext } from "./ClickHouseParser.js";
import { SubjectExpressionListContext } from "./ClickHouseParser.js";
import { UserExpressionListContext } from "./ClickHouseParser.js";
import { RoleExpressionListContext } from "./ClickHouseParser.js";
import { GrantStatementContext } from "./ClickHouseParser.js";
import { WithGrantOrReplaceOptionContext } from "./ClickHouseParser.js";
import { WithReplaceOptionContext } from "./ClickHouseParser.js";
import { AccessSubjectIdentifierContext } from "./ClickHouseParser.js";
import { PrivilegeListContext } from "./ClickHouseParser.js";
import { RoleIdentifierContext } from "./ClickHouseParser.js";
import { UserIdentifierContext } from "./ClickHouseParser.js";
import { UserOrRoleExpressionListContext } from "./ClickHouseParser.js";
import { UserOrRoleIdentifierContext } from "./ClickHouseParser.js";
import { SelectPrivilegeContext } from "./ClickHouseParser.js";
import { InsertPrivilegeContext } from "./ClickHouseParser.js";
import { CreatePrivilegeContext } from "./ClickHouseParser.js";
import { DropPrivilegeContext } from "./ClickHouseParser.js";
import { ShowPrivilegeContext } from "./ClickHouseParser.js";
import { IntrospectionPrivilegeContext } from "./ClickHouseParser.js";
import { SourcePrivilegeContext } from "./ClickHouseParser.js";
import { DictPrivilegeContext } from "./ClickHouseParser.js";
import { AlterPrivilegeContext } from "./ClickHouseParser.js";
import { AccessManagementPrivilegeContext } from "./ClickHouseParser.js";
import { SystemPrivilegeContext } from "./ClickHouseParser.js";
import { NamedCollectionAdminPrivilegeContext } from "./ClickHouseParser.js";
import { PrivilegeContext } from "./ClickHouseParser.js";
import { InsertStatementContext } from "./ClickHouseParser.js";
import { ColumnsOrExceptClauseContext } from "./ClickHouseParser.js";
import { ColumnsClauseContext } from "./ClickHouseParser.js";
import { InsertFormatTypeExceptValuesContext } from "./ClickHouseParser.js";
import { DataClauseContext } from "./ClickHouseParser.js";
import { AnyValueContext } from "./ClickHouseParser.js";
import { LiteralListContext } from "./ClickHouseParser.js";
import { ValueIdentifierContext } from "./ClickHouseParser.js";
import { ValueOrArrayIdentifierContext } from "./ClickHouseParser.js";
import { ArrayIdentifierContext } from "./ClickHouseParser.js";
import { ValuesClauseContext } from "./ClickHouseParser.js";
import { ValuesStatementContext } from "./ClickHouseParser.js";
import { KillMutationStatementContext } from "./ClickHouseParser.js";
import { OptimizeStatementContext } from "./ClickHouseParser.js";
import { RenameStatementContext } from "./ClickHouseParser.js";
import { ProjectionSelectStatementContext } from "./ClickHouseParser.js";
import { SelectUnionStatementContext } from "./ClickHouseParser.js";
import { SelectStatementWithParenthesesContext } from "./ClickHouseParser.js";
import { DistinctClauseContext } from "./ClickHouseParser.js";
import { SelectStatementContext } from "./ClickHouseParser.js";
import { WithClauseContext } from "./ClickHouseParser.js";
import { TopClauseContext } from "./ClickHouseParser.js";
import { FromValuesExpressionValueContext } from "./ClickHouseParser.js";
import { FromValuesExpressionContext } from "./ClickHouseParser.js";
import { FromClauseContext } from "./ClickHouseParser.js";
import { ArrayJoinClauseContext } from "./ClickHouseParser.js";
import { WindowClauseContext } from "./ClickHouseParser.js";
import { PrewhereClauseContext } from "./ClickHouseParser.js";
import { WhereClauseContext } from "./ClickHouseParser.js";
import { GroupByClauseContext } from "./ClickHouseParser.js";
import { HavingClauseContext } from "./ClickHouseParser.js";
import { OrderByClauseContext } from "./ClickHouseParser.js";
import { ProjectionOrderByClauseContext } from "./ClickHouseParser.js";
import { LimitByClauseContext } from "./ClickHouseParser.js";
import { LimitClauseContext } from "./ClickHouseParser.js";
import { SettingsClauseContext } from "./ClickHouseParser.js";
import { JoinExpressionParensContext } from "./ClickHouseParser.js";
import { JoinExpressionTableContext } from "./ClickHouseParser.js";
import { JoinExpressionCrossOpContext } from "./ClickHouseParser.js";
import { JoinExpressionOpContext } from "./ClickHouseParser.js";
import { JoinOpInnerContext } from "./ClickHouseParser.js";
import { JoinOpLeftRightContext } from "./ClickHouseParser.js";
import { JoinOpFullContext } from "./ClickHouseParser.js";
import { JoinOperatorCrossContext } from "./ClickHouseParser.js";
import { JoinConstraintClauseContext } from "./ClickHouseParser.js";
import { SampleClauseContext } from "./ClickHouseParser.js";
import { LimitExpressionContext } from "./ClickHouseParser.js";
import { OrderExpressionListContext } from "./ClickHouseParser.js";
import { OrderExpressionContext } from "./ClickHouseParser.js";
import { InterpolateClauseContext } from "./ClickHouseParser.js";
import { RatioExpressionContext } from "./ClickHouseParser.js";
import { SettingExpressionListContext } from "./ClickHouseParser.js";
import { SettingExpressionContext } from "./ClickHouseParser.js";
import { WindowExpressionContext } from "./ClickHouseParser.js";
import { WindowPartitionByClauseContext } from "./ClickHouseParser.js";
import { WindowOrderByClauseContext } from "./ClickHouseParser.js";
import { WindowFrameClauseContext } from "./ClickHouseParser.js";
import { FrameStartContext } from "./ClickHouseParser.js";
import { FrameBetweenContext } from "./ClickHouseParser.js";
import { WindowFrameBoundContext } from "./ClickHouseParser.js";
import { SetStatementContext } from "./ClickHouseParser.js";
import { ShowCreateDatabaseStatementContext } from "./ClickHouseParser.js";
import { ShowCreateDictionaryStatementContext } from "./ClickHouseParser.js";
import { ShowCreateTableStatementContext } from "./ClickHouseParser.js";
import { ShowDatabasesStatementContext } from "./ClickHouseParser.js";
import { ShowDictionariesStatementContext } from "./ClickHouseParser.js";
import { ShowTablesStatementContext } from "./ClickHouseParser.js";
import { SystemStatementContext } from "./ClickHouseParser.js";
import { TruncateStatementContext } from "./ClickHouseParser.js";
import { UseStatementContext } from "./ClickHouseParser.js";
import { WatchStatementContext } from "./ClickHouseParser.js";
import { ColumnTypeExpressionSimpleContext } from "./ClickHouseParser.js";
import { ColumnTypeExpressionNestedContext } from "./ClickHouseParser.js";
import { ColumnTypeExpressionEnumContext } from "./ClickHouseParser.js";
import { ColumnTypeExpressionComplexContext } from "./ClickHouseParser.js";
import { ColumnTypeExpressionParamContext } from "./ClickHouseParser.js";
import { ColumnExpressionListContext } from "./ClickHouseParser.js";
import { ColumnsExpressionAsteriskContext } from "./ClickHouseParser.js";
import { ColumnsExpressionSubqueryContext } from "./ClickHouseParser.js";
import { ColumnsExpressionColumnContext } from "./ClickHouseParser.js";
import { ColumnExpressionIsNullContext } from "./ClickHouseParser.js";
import { ColumnExpressionTupleContext } from "./ClickHouseParser.js";
import { ColumnExpressionAndContext } from "./ClickHouseParser.js";
import { ColumnExpressionDateContext } from "./ClickHouseParser.js";
import { ColumnExpressionBetweenContext } from "./ClickHouseParser.js";
import { ColumnExpressionTrimContext } from "./ClickHouseParser.js";
import { ColumnExpressionNotContext } from "./ClickHouseParser.js";
import { ColumnExpressionSubstringContext } from "./ClickHouseParser.js";
import { ColumnExpressionCaseContext } from "./ClickHouseParser.js";
import { ColumnExpressionIdentifierContext } from "./ClickHouseParser.js";
import { ColumnExpressionArrayAccessContext } from "./ClickHouseParser.js";
import { ColumnExpressionFunctionContext } from "./ClickHouseParser.js";
import { ColumnExpressionAsteriskContext } from "./ClickHouseParser.js";
import { ColumnExpressionLiteralContext } from "./ClickHouseParser.js";
import { ColumnExpressionWinFunctionContext } from "./ClickHouseParser.js";
import { ColumnExpressionTernaryOpContext } from "./ClickHouseParser.js";
import { ColumnExpressionArrayContext } from "./ClickHouseParser.js";
import { ColumnExpressionTupleAccessContext } from "./ClickHouseParser.js";
import { ColumnExpressionParensContext } from "./ClickHouseParser.js";
import { ColumnExpressionWinFunctionTargetContext } from "./ClickHouseParser.js";
import { ColumnExpressionAliasContext } from "./ClickHouseParser.js";
import { ColumnExpressionExceptContext } from "./ClickHouseParser.js";
import { ColumnExpressionPrecedence3Context } from "./ClickHouseParser.js";
import { ColumnExpressionTimestampContext } from "./ClickHouseParser.js";
import { ColumnExpressionPrecedence2Context } from "./ClickHouseParser.js";
import { ColumnExpressionPrecedence1Context } from "./ClickHouseParser.js";
import { ColumnExpressionIntervalContext } from "./ClickHouseParser.js";
import { ColumnExpressionSubqueryContext } from "./ClickHouseParser.js";
import { ColumnExpressionNegateContext } from "./ClickHouseParser.js";
import { ColumnExpressionExtractContext } from "./ClickHouseParser.js";
import { ColumnExpressionCastContext } from "./ClickHouseParser.js";
import { ColumnExpressionOrContext } from "./ClickHouseParser.js";
import { ColumnArgumentListContext } from "./ClickHouseParser.js";
import { ColumnArgumentExpressionContext } from "./ClickHouseParser.js";
import { ColumnLambdaExpressionContext } from "./ClickHouseParser.js";
import { ColumnIdentifierContext } from "./ClickHouseParser.js";
import { TableExpressionFunctionContext } from "./ClickHouseParser.js";
import { TableExpressionIdentifierContext } from "./ClickHouseParser.js";
import { TableExpressionAliasContext } from "./ClickHouseParser.js";
import { TableExpressionSubqueryContext } from "./ClickHouseParser.js";
import { TableFunctionExpressionContext } from "./ClickHouseParser.js";
import { TableIdentifierContext } from "./ClickHouseParser.js";
import { TableArgListContext } from "./ClickHouseParser.js";
import { TableArgExpressionContext } from "./ClickHouseParser.js";
import { DatabaseIdentifierContext } from "./ClickHouseParser.js";
import { FloatingLiteralContext } from "./ClickHouseParser.js";
import { NumberLiteralContext } from "./ClickHouseParser.js";
import { LiteralContext } from "./ClickHouseParser.js";
import { IntervalContext } from "./ClickHouseParser.js";
import { KeywordContext } from "./ClickHouseParser.js";
import { KeywordForAliasContext } from "./ClickHouseParser.js";
import { AliasContext } from "./ClickHouseParser.js";
import { IdentifierContext } from "./ClickHouseParser.js";
import { IdentifierOrNullContext } from "./ClickHouseParser.js";
import { EnumValueContext } from "./ClickHouseParser.js";
/**
 * This interface defines a complete generic visitor for a parse tree produced
 * by `ClickHouseParser`.
 *
 * @param <Result> The return type of the visit operation. Use `void` for
 * operations with no return type.
 */
export declare class ClickHouseParserVisitor<Result> extends AbstractParseTreeVisitor<Result> {
    /**
     * Visit a parse tree produced by `ClickHouseParser.root`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitRoot?: (ctx: RootContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.statements`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitStatements?: (ctx: StatementsContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.statement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitStatement?: (ctx: StatementContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.notInsertStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitNotInsertStatement?: (ctx: NotInsertStatementContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.commonTableExpressionStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitCommonTableExpressionStatement?: (ctx: CommonTableExpressionStatementContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.namedQuery`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitNamedQuery?: (ctx: NamedQueryContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.columnAliases`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnAliases?: (ctx: ColumnAliasesContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.alterStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitAlterStatement?: (ctx: AlterStatementContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.alterSettingsProfileStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitAlterSettingsProfileStatement?: (ctx: AlterSettingsProfileStatementContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.alterNamedCollectionStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitAlterNamedCollectionStatement?: (ctx: AlterNamedCollectionStatementContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.alterRoleStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitAlterRoleStatement?: (ctx: AlterRoleStatementContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.alterPolicyExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitAlterPolicyExpression?: (ctx: AlterPolicyExpressionContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.alterRowPolicyStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitAlterRowPolicyStatement?: (ctx: AlterRowPolicyStatementContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.alterQuotaStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitAlterQuotaStatement?: (ctx: AlterQuotaStatementContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.alterUserStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitAlterUserStatement?: (ctx: AlterUserStatementContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.renameClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitRenameClause?: (ctx: RenameClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.alterTableStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitAlterTableStatement?: (ctx: AlterTableStatementContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.alterTableClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitAlterTableClause?: (ctx: AlterTableClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.alterTableDeleteClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitAlterTableDeleteClause?: (ctx: AlterTableDeleteClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.alterTableMaterializeClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitAlterTableMaterializeClause?: (ctx: AlterTableMaterializeClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.alterTableDropClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitAlterTableDropClause?: (ctx: AlterTableDropClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.alterTableClearClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitAlterTableClearClause?: (ctx: AlterTableClearClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.alterTableAddClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitAlterTableAddClause?: (ctx: AlterTableAddClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.alterTableModifyClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitAlterTableModifyClause?: (ctx: AlterTableModifyClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.alterTableUpdateClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitAlterTableUpdateClause?: (ctx: AlterTableUpdateClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.filterByNumberExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitFilterByNumberExpression?: (ctx: FilterByNumberExpressionContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.identifierEqualNumber`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitIdentifierEqualNumber?: (ctx: IdentifierEqualNumberContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.columnEqualExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnEqualExpression?: (ctx: ColumnEqualExpressionContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.assignmentExpressionList`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitAssignmentExpressionList?: (ctx: AssignmentExpressionListContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.assignmentExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitAssignmentExpression?: (ctx: AssignmentExpressionContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.tableColumnPropertyType`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTableColumnPropertyType?: (ctx: TableColumnPropertyTypeContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.partitionExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitPartitionExpression?: (ctx: PartitionExpressionContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.partitionClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitPartitionClause?: (ctx: PartitionClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.partitionOrPartClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitPartitionOrPartClause?: (ctx: PartitionOrPartClauseContext) => Result;
    /**
     * Visit a parse tree produced by the `AttachDictionaryStatement`
     * labeled alternative in `ClickHouseParser.attachStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitAttachDictionaryStatement?: (ctx: AttachDictionaryStatementContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.checkStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitCheckStatement?: (ctx: CheckStatementContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.deleteStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitDeleteStatement?: (ctx: DeleteStatementContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.createTableStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitCreateTableStatement?: (ctx: CreateTableStatementContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.createDatabaseStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitCreateDatabaseStatement?: (ctx: CreateDatabaseStatementContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.createDictionaryStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitCreateDictionaryStatement?: (ctx: CreateDictionaryStatementContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.createLiveViewStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitCreateLiveViewStatement?: (ctx: CreateLiveViewStatementContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.createMaterializedViewStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitCreateMaterializedViewStatement?: (ctx: CreateMaterializedViewStatementContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.createViewStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitCreateViewStatement?: (ctx: CreateViewStatementContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.stringIdentificationType`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitStringIdentificationType?: (ctx: StringIdentificationTypeContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.keyTypeClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitKeyTypeClause?: (ctx: KeyTypeClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.otherIdentificationType`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitOtherIdentificationType?: (ctx: OtherIdentificationTypeContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.userIdentificationClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitUserIdentificationClause?: (ctx: UserIdentificationClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.validUntilClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitValidUntilClause?: (ctx: ValidUntilClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.grantsProvider`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitGrantsProvider?: (ctx: GrantsProviderContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.granteesClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitGranteesClause?: (ctx: GranteesClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.hostType`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitHostType?: (ctx: HostTypeContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.hostClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitHostClause?: (ctx: HostClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.extendedSettingExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitExtendedSettingExpression?: (ctx: ExtendedSettingExpressionContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.extendedSettingExpressionWithProfileClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitExtendedSettingExpressionWithProfileClause?: (ctx: ExtendedSettingExpressionWithProfileClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.extendedSettingsWithProfileClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitExtendedSettingsWithProfileClause?: (ctx: ExtendedSettingsWithProfileClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.inClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitInClause?: (ctx: InClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.defaultRoleClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitDefaultRoleClause?: (ctx: DefaultRoleClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.createUserStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitCreateUserStatement?: (ctx: CreateUserStatementContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.replaceOrIfNotExistsClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitReplaceOrIfNotExistsClause?: (ctx: ReplaceOrIfNotExistsClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.tableIdentifierOrAnyTable`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTableIdentifierOrAnyTable?: (ctx: TableIdentifierOrAnyTableContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.createPolicyExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitCreatePolicyExpression?: (ctx: CreatePolicyExpressionContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.identifierOrLiteralOrFunction`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitIdentifierOrLiteralOrFunction?: (ctx: IdentifierOrLiteralOrFunctionContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.functionArgument`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitFunctionArgument?: (ctx: FunctionArgumentContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.functionExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitFunctionExpression?: (ctx: FunctionExpressionContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.conditionExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitConditionExpression?: (ctx: ConditionExpressionContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.conditionClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitConditionClause?: (ctx: ConditionClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.subjectOrAllOrExcept`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitSubjectOrAllOrExcept?: (ctx: SubjectOrAllOrExceptContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.subjectExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitSubjectExpression?: (ctx: SubjectExpressionContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.asPermissiveOrRestrictive`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitAsPermissiveOrRestrictive?: (ctx: AsPermissiveOrRestrictiveContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.usingClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitUsingClause?: (ctx: UsingClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.createRowPolicyStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitCreateRowPolicyStatement?: (ctx: CreateRowPolicyStatementContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.quotaKeyType`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitQuotaKeyType?: (ctx: QuotaKeyTypeContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.quotaKeyClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitQuotaKeyClause?: (ctx: QuotaKeyClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.quotaRestrictionType`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitQuotaRestrictionType?: (ctx: QuotaRestrictionTypeContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.stringOrNumberLiteral`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitStringOrNumberLiteral?: (ctx: StringOrNumberLiteralContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.quotaRestrictionExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitQuotaRestrictionExpression?: (ctx: QuotaRestrictionExpressionContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.quotaRestrictionClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitQuotaRestrictionClause?: (ctx: QuotaRestrictionClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.quotaForClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitQuotaForClause?: (ctx: QuotaForClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.intervalOperand`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitIntervalOperand?: (ctx: IntervalOperandContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.quotaForList`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitQuotaForList?: (ctx: QuotaForListContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.createQuotaStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitCreateQuotaStatement?: (ctx: CreateQuotaStatementContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.identifierList`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitIdentifierList?: (ctx: IdentifierListContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.createRoleStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitCreateRoleStatement?: (ctx: CreateRoleStatementContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.extendedSettingExpressionWithProfileOrInheritClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitExtendedSettingExpressionWithProfileOrInheritClause?: (ctx: ExtendedSettingExpressionWithProfileOrInheritClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.extendedSettingsWithInheritClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitExtendedSettingsWithInheritClause?: (ctx: ExtendedSettingsWithInheritClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.createSettingsProfileStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitCreateSettingsProfileStatement?: (ctx: CreateSettingsProfileStatementContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.namedCollectionExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitNamedCollectionExpression?: (ctx: NamedCollectionExpressionContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.namedCollectionExpressionList`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitNamedCollectionExpressionList?: (ctx: NamedCollectionExpressionListContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.createNamedCollectionStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitCreateNamedCollectionStatement?: (ctx: CreateNamedCollectionStatementContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.expressionOperand`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitExpressionOperand?: (ctx: ExpressionOperandContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.expression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitExpression?: (ctx: ExpressionContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.createFunctionStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitCreateFunctionStatement?: (ctx: CreateFunctionStatementContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.orderType`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitOrderType?: (ctx: OrderTypeContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.createIndexStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitCreateIndexStatement?: (ctx: CreateIndexStatementContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.createStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitCreateStatement?: (ctx: CreateStatementContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.dictionarySchemaClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitDictionarySchemaClause?: (ctx: DictionarySchemaClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.dictionaryAttributeDefinition`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitDictionaryAttributeDefinition?: (ctx: DictionaryAttributeDefinitionContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.dictionaryEngineClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitDictionaryEngineClause?: (ctx: DictionaryEngineClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.dictionaryPrimaryKeyClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitDictionaryPrimaryKeyClause?: (ctx: DictionaryPrimaryKeyClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.dictionaryArgumentExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitDictionaryArgumentExpression?: (ctx: DictionaryArgumentExpressionContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.sourceClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitSourceClause?: (ctx: SourceClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.lifetimeClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitLifetimeClause?: (ctx: LifetimeClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.layoutClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitLayoutClause?: (ctx: LayoutClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.rangeClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitRangeClause?: (ctx: RangeClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.dictionarySettingsClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitDictionarySettingsClause?: (ctx: DictionarySettingsClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.clusterClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitClusterClause?: (ctx: ClusterClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.uuidClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitUuidClause?: (ctx: UuidClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.destinationClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitDestinationClause?: (ctx: DestinationClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.subqueryClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitSubqueryClause?: (ctx: SubqueryClauseContext) => Result;
    /**
     * Visit a parse tree produced by the `SchemaDescriptionClause`
     * labeled alternative in `ClickHouseParser.tableSchemaClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitSchemaDescriptionClause?: (ctx: SchemaDescriptionClauseContext) => Result;
    /**
     * Visit a parse tree produced by the `SchemaAsTableClause`
     * labeled alternative in `ClickHouseParser.tableSchemaClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitSchemaAsTableClause?: (ctx: SchemaAsTableClauseContext) => Result;
    /**
     * Visit a parse tree produced by the `SchemaAsFunctionClause`
     * labeled alternative in `ClickHouseParser.tableSchemaClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitSchemaAsFunctionClause?: (ctx: SchemaAsFunctionClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.engineClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitEngineClause?: (ctx: EngineClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.partitionByClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitPartitionByClause?: (ctx: PartitionByClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.primaryKeyClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitPrimaryKeyClause?: (ctx: PrimaryKeyClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.sampleByClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitSampleByClause?: (ctx: SampleByClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.ttlClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTtlClause?: (ctx: TtlClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.engineExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitEngineExpression?: (ctx: EngineExpressionContext) => Result;
    /**
     * Visit a parse tree produced by the `TableElementExpressionColumn`
     * labeled alternative in `ClickHouseParser.tableElementExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTableElementExpressionColumn?: (ctx: TableElementExpressionColumnContext) => Result;
    /**
     * Visit a parse tree produced by the `TableElementExpressionConstraint`
     * labeled alternative in `ClickHouseParser.tableElementExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTableElementExpressionConstraint?: (ctx: TableElementExpressionConstraintContext) => Result;
    /**
     * Visit a parse tree produced by the `TableElementExpressionIndex`
     * labeled alternative in `ClickHouseParser.tableElementExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTableElementExpressionIndex?: (ctx: TableElementExpressionIndexContext) => Result;
    /**
     * Visit a parse tree produced by the `TableElementExpressionProjection`
     * labeled alternative in `ClickHouseParser.tableElementExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTableElementExpressionProjection?: (ctx: TableElementExpressionProjectionContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.tableColumnDefinition`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTableColumnDefinition?: (ctx: TableColumnDefinitionContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.tableColumnPropertyExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTableColumnPropertyExpression?: (ctx: TableColumnPropertyExpressionContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.tableIndexDefinition`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTableIndexDefinition?: (ctx: TableIndexDefinitionContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.tableProjectionDefinition`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTableProjectionDefinition?: (ctx: TableProjectionDefinitionContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.codecExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitCodecExpression?: (ctx: CodecExpressionContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.codecArgExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitCodecArgExpression?: (ctx: CodecArgExpressionContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.ttlExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTtlExpression?: (ctx: TtlExpressionContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.describeStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitDescribeStatement?: (ctx: DescribeStatementContext) => Result;
    /**
     * Visit a parse tree produced by the `DropDatabaseStatement`
     * labeled alternative in `ClickHouseParser.dropStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitDropDatabaseStatement?: (ctx: DropDatabaseStatementContext) => Result;
    /**
     * Visit a parse tree produced by the `DropTableStatement`
     * labeled alternative in `ClickHouseParser.dropStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitDropTableStatement?: (ctx: DropTableStatementContext) => Result;
    /**
     * Visit a parse tree produced by the `ExistsDatabaseStatement`
     * labeled alternative in `ClickHouseParser.existsStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitExistsDatabaseStatement?: (ctx: ExistsDatabaseStatementContext) => Result;
    /**
     * Visit a parse tree produced by the `ExistsTableStatement`
     * labeled alternative in `ClickHouseParser.existsStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitExistsTableStatement?: (ctx: ExistsTableStatementContext) => Result;
    /**
     * Visit a parse tree produced by the `ExplainDefaultStatement`
     * labeled alternative in `ClickHouseParser.explainStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitExplainDefaultStatement?: (ctx: ExplainDefaultStatementContext) => Result;
    /**
     * Visit a parse tree produced by the `ExplainASTStatement`
     * labeled alternative in `ClickHouseParser.explainStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitExplainASTStatement?: (ctx: ExplainASTStatementContext) => Result;
    /**
     * Visit a parse tree produced by the `ExplainSyntaxStatement`
     * labeled alternative in `ClickHouseParser.explainStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitExplainSyntaxStatement?: (ctx: ExplainSyntaxStatementContext) => Result;
    /**
     * Visit a parse tree produced by the `ExplainPipelineStatement`
     * labeled alternative in `ClickHouseParser.explainStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitExplainPipelineStatement?: (ctx: ExplainPipelineStatementContext) => Result;
    /**
     * Visit a parse tree produced by the `ExplainPlanStatement`
     * labeled alternative in `ClickHouseParser.explainStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitExplainPlanStatement?: (ctx: ExplainPlanStatementContext) => Result;
    /**
     * Visit a parse tree produced by the `ExplainQueryTreeStatement`
     * labeled alternative in `ClickHouseParser.explainStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitExplainQueryTreeStatement?: (ctx: ExplainQueryTreeStatementContext) => Result;
    /**
     * Visit a parse tree produced by the `ExplainEstimateStatement`
     * labeled alternative in `ClickHouseParser.explainStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitExplainEstimateStatement?: (ctx: ExplainEstimateStatementContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.revokeStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitRevokeStatement?: (ctx: RevokeStatementContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.subjectExpressionList`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitSubjectExpressionList?: (ctx: SubjectExpressionListContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.userExpressionList`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitUserExpressionList?: (ctx: UserExpressionListContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.roleExpressionList`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitRoleExpressionList?: (ctx: RoleExpressionListContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.grantStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitGrantStatement?: (ctx: GrantStatementContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.withGrantOrReplaceOption`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitWithGrantOrReplaceOption?: (ctx: WithGrantOrReplaceOptionContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.withReplaceOption`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitWithReplaceOption?: (ctx: WithReplaceOptionContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.accessSubjectIdentifier`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitAccessSubjectIdentifier?: (ctx: AccessSubjectIdentifierContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.privilegeList`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitPrivilegeList?: (ctx: PrivilegeListContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.roleIdentifier`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitRoleIdentifier?: (ctx: RoleIdentifierContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.userIdentifier`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitUserIdentifier?: (ctx: UserIdentifierContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.userOrRoleExpressionList`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitUserOrRoleExpressionList?: (ctx: UserOrRoleExpressionListContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.userOrRoleIdentifier`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitUserOrRoleIdentifier?: (ctx: UserOrRoleIdentifierContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.selectPrivilege`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitSelectPrivilege?: (ctx: SelectPrivilegeContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.insertPrivilege`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitInsertPrivilege?: (ctx: InsertPrivilegeContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.createPrivilege`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitCreatePrivilege?: (ctx: CreatePrivilegeContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.dropPrivilege`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitDropPrivilege?: (ctx: DropPrivilegeContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.showPrivilege`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitShowPrivilege?: (ctx: ShowPrivilegeContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.introspectionPrivilege`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitIntrospectionPrivilege?: (ctx: IntrospectionPrivilegeContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.sourcePrivilege`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitSourcePrivilege?: (ctx: SourcePrivilegeContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.dictPrivilege`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitDictPrivilege?: (ctx: DictPrivilegeContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.alterPrivilege`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitAlterPrivilege?: (ctx: AlterPrivilegeContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.accessManagementPrivilege`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitAccessManagementPrivilege?: (ctx: AccessManagementPrivilegeContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.systemPrivilege`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitSystemPrivilege?: (ctx: SystemPrivilegeContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.namedCollectionAdminPrivilege`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitNamedCollectionAdminPrivilege?: (ctx: NamedCollectionAdminPrivilegeContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.privilege`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitPrivilege?: (ctx: PrivilegeContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.insertStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitInsertStatement?: (ctx: InsertStatementContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.columnsOrExceptClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnsOrExceptClause?: (ctx: ColumnsOrExceptClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.columnsClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnsClause?: (ctx: ColumnsClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.insertFormatTypeExceptValues`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitInsertFormatTypeExceptValues?: (ctx: InsertFormatTypeExceptValuesContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.dataClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitDataClause?: (ctx: DataClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.anyValue`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitAnyValue?: (ctx: AnyValueContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.literalList`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitLiteralList?: (ctx: LiteralListContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.valueIdentifier`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitValueIdentifier?: (ctx: ValueIdentifierContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.valueOrArrayIdentifier`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitValueOrArrayIdentifier?: (ctx: ValueOrArrayIdentifierContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.arrayIdentifier`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitArrayIdentifier?: (ctx: ArrayIdentifierContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.valuesClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitValuesClause?: (ctx: ValuesClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.valuesStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitValuesStatement?: (ctx: ValuesStatementContext) => Result;
    /**
     * Visit a parse tree produced by the `KillMutationStatement`
     * labeled alternative in `ClickHouseParser.killStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitKillMutationStatement?: (ctx: KillMutationStatementContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.optimizeStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitOptimizeStatement?: (ctx: OptimizeStatementContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.renameStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitRenameStatement?: (ctx: RenameStatementContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.projectionSelectStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitProjectionSelectStatement?: (ctx: ProjectionSelectStatementContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.selectUnionStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitSelectUnionStatement?: (ctx: SelectUnionStatementContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.selectStatementWithParentheses`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitSelectStatementWithParentheses?: (ctx: SelectStatementWithParenthesesContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.distinctClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitDistinctClause?: (ctx: DistinctClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.selectStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitSelectStatement?: (ctx: SelectStatementContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.withClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitWithClause?: (ctx: WithClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.topClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTopClause?: (ctx: TopClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.fromValuesExpressionValue`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitFromValuesExpressionValue?: (ctx: FromValuesExpressionValueContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.fromValuesExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitFromValuesExpression?: (ctx: FromValuesExpressionContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.fromClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitFromClause?: (ctx: FromClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.arrayJoinClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitArrayJoinClause?: (ctx: ArrayJoinClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.windowClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitWindowClause?: (ctx: WindowClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.prewhereClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitPrewhereClause?: (ctx: PrewhereClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.whereClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitWhereClause?: (ctx: WhereClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.groupByClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitGroupByClause?: (ctx: GroupByClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.havingClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitHavingClause?: (ctx: HavingClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.orderByClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitOrderByClause?: (ctx: OrderByClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.projectionOrderByClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitProjectionOrderByClause?: (ctx: ProjectionOrderByClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.limitByClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitLimitByClause?: (ctx: LimitByClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.limitClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitLimitClause?: (ctx: LimitClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.settingsClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitSettingsClause?: (ctx: SettingsClauseContext) => Result;
    /**
     * Visit a parse tree produced by the `JoinExpressionParens`
     * labeled alternative in `ClickHouseParser.joinExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitJoinExpressionParens?: (ctx: JoinExpressionParensContext) => Result;
    /**
     * Visit a parse tree produced by the `JoinExpressionTable`
     * labeled alternative in `ClickHouseParser.joinExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitJoinExpressionTable?: (ctx: JoinExpressionTableContext) => Result;
    /**
     * Visit a parse tree produced by the `JoinExpressionCrossOp`
     * labeled alternative in `ClickHouseParser.joinExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitJoinExpressionCrossOp?: (ctx: JoinExpressionCrossOpContext) => Result;
    /**
     * Visit a parse tree produced by the `JoinExpressionOp`
     * labeled alternative in `ClickHouseParser.joinExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitJoinExpressionOp?: (ctx: JoinExpressionOpContext) => Result;
    /**
     * Visit a parse tree produced by the `JoinOpInner`
     * labeled alternative in `ClickHouseParser.joinOperator`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitJoinOpInner?: (ctx: JoinOpInnerContext) => Result;
    /**
     * Visit a parse tree produced by the `JoinOpLeftRight`
     * labeled alternative in `ClickHouseParser.joinOperator`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitJoinOpLeftRight?: (ctx: JoinOpLeftRightContext) => Result;
    /**
     * Visit a parse tree produced by the `JoinOpFull`
     * labeled alternative in `ClickHouseParser.joinOperator`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitJoinOpFull?: (ctx: JoinOpFullContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.joinOperatorCross`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitJoinOperatorCross?: (ctx: JoinOperatorCrossContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.joinConstraintClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitJoinConstraintClause?: (ctx: JoinConstraintClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.sampleClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitSampleClause?: (ctx: SampleClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.limitExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitLimitExpression?: (ctx: LimitExpressionContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.orderExpressionList`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitOrderExpressionList?: (ctx: OrderExpressionListContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.orderExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitOrderExpression?: (ctx: OrderExpressionContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.interpolateClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitInterpolateClause?: (ctx: InterpolateClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.ratioExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitRatioExpression?: (ctx: RatioExpressionContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.settingExpressionList`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitSettingExpressionList?: (ctx: SettingExpressionListContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.settingExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitSettingExpression?: (ctx: SettingExpressionContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.windowExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitWindowExpression?: (ctx: WindowExpressionContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.windowPartitionByClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitWindowPartitionByClause?: (ctx: WindowPartitionByClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.windowOrderByClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitWindowOrderByClause?: (ctx: WindowOrderByClauseContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.windowFrameClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitWindowFrameClause?: (ctx: WindowFrameClauseContext) => Result;
    /**
     * Visit a parse tree produced by the `frameStart`
     * labeled alternative in `ClickHouseParser.windowFrameExtend`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitFrameStart?: (ctx: FrameStartContext) => Result;
    /**
     * Visit a parse tree produced by the `frameBetween`
     * labeled alternative in `ClickHouseParser.windowFrameExtend`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitFrameBetween?: (ctx: FrameBetweenContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.windowFrameBound`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitWindowFrameBound?: (ctx: WindowFrameBoundContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.setStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitSetStatement?: (ctx: SetStatementContext) => Result;
    /**
     * Visit a parse tree produced by the `showCreateDatabaseStatement`
     * labeled alternative in `ClickHouseParser.showStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitShowCreateDatabaseStatement?: (ctx: ShowCreateDatabaseStatementContext) => Result;
    /**
     * Visit a parse tree produced by the `showCreateDictionaryStatement`
     * labeled alternative in `ClickHouseParser.showStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitShowCreateDictionaryStatement?: (ctx: ShowCreateDictionaryStatementContext) => Result;
    /**
     * Visit a parse tree produced by the `showCreateTableStatement`
     * labeled alternative in `ClickHouseParser.showStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitShowCreateTableStatement?: (ctx: ShowCreateTableStatementContext) => Result;
    /**
     * Visit a parse tree produced by the `showDatabasesStatement`
     * labeled alternative in `ClickHouseParser.showStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitShowDatabasesStatement?: (ctx: ShowDatabasesStatementContext) => Result;
    /**
     * Visit a parse tree produced by the `showDictionariesStatement`
     * labeled alternative in `ClickHouseParser.showStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitShowDictionariesStatement?: (ctx: ShowDictionariesStatementContext) => Result;
    /**
     * Visit a parse tree produced by the `showTablesStatement`
     * labeled alternative in `ClickHouseParser.showStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitShowTablesStatement?: (ctx: ShowTablesStatementContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.systemStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitSystemStatement?: (ctx: SystemStatementContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.truncateStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTruncateStatement?: (ctx: TruncateStatementContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.useStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitUseStatement?: (ctx: UseStatementContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.watchStatement`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitWatchStatement?: (ctx: WatchStatementContext) => Result;
    /**
     * Visit a parse tree produced by the `ColumnTypeExpressionSimple`
     * labeled alternative in `ClickHouseParser.columnTypeExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnTypeExpressionSimple?: (ctx: ColumnTypeExpressionSimpleContext) => Result;
    /**
     * Visit a parse tree produced by the `ColumnTypeExpressionNested`
     * labeled alternative in `ClickHouseParser.columnTypeExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnTypeExpressionNested?: (ctx: ColumnTypeExpressionNestedContext) => Result;
    /**
     * Visit a parse tree produced by the `ColumnTypeExpressionEnum`
     * labeled alternative in `ClickHouseParser.columnTypeExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnTypeExpressionEnum?: (ctx: ColumnTypeExpressionEnumContext) => Result;
    /**
     * Visit a parse tree produced by the `ColumnTypeExpressionComplex`
     * labeled alternative in `ClickHouseParser.columnTypeExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnTypeExpressionComplex?: (ctx: ColumnTypeExpressionComplexContext) => Result;
    /**
     * Visit a parse tree produced by the `ColumnTypeExpressionParam`
     * labeled alternative in `ClickHouseParser.columnTypeExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnTypeExpressionParam?: (ctx: ColumnTypeExpressionParamContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.columnExpressionList`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnExpressionList?: (ctx: ColumnExpressionListContext) => Result;
    /**
     * Visit a parse tree produced by the `ColumnsExpressionAsterisk`
     * labeled alternative in `ClickHouseParser.columnsExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnsExpressionAsterisk?: (ctx: ColumnsExpressionAsteriskContext) => Result;
    /**
     * Visit a parse tree produced by the `ColumnsExpressionSubquery`
     * labeled alternative in `ClickHouseParser.columnsExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnsExpressionSubquery?: (ctx: ColumnsExpressionSubqueryContext) => Result;
    /**
     * Visit a parse tree produced by the `ColumnsExpressionColumn`
     * labeled alternative in `ClickHouseParser.columnsExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnsExpressionColumn?: (ctx: ColumnsExpressionColumnContext) => Result;
    /**
     * Visit a parse tree produced by the `ColumnExpressionIsNull`
     * labeled alternative in `ClickHouseParser.columnExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnExpressionIsNull?: (ctx: ColumnExpressionIsNullContext) => Result;
    /**
     * Visit a parse tree produced by the `ColumnExpressionTuple`
     * labeled alternative in `ClickHouseParser.columnExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnExpressionTuple?: (ctx: ColumnExpressionTupleContext) => Result;
    /**
     * Visit a parse tree produced by the `ColumnExpressionAnd`
     * labeled alternative in `ClickHouseParser.columnExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnExpressionAnd?: (ctx: ColumnExpressionAndContext) => Result;
    /**
     * Visit a parse tree produced by the `ColumnExpressionDate`
     * labeled alternative in `ClickHouseParser.columnExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnExpressionDate?: (ctx: ColumnExpressionDateContext) => Result;
    /**
     * Visit a parse tree produced by the `ColumnExpressionBetween`
     * labeled alternative in `ClickHouseParser.columnExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnExpressionBetween?: (ctx: ColumnExpressionBetweenContext) => Result;
    /**
     * Visit a parse tree produced by the `ColumnExpressionTrim`
     * labeled alternative in `ClickHouseParser.columnExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnExpressionTrim?: (ctx: ColumnExpressionTrimContext) => Result;
    /**
     * Visit a parse tree produced by the `ColumnExpressionNot`
     * labeled alternative in `ClickHouseParser.columnExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnExpressionNot?: (ctx: ColumnExpressionNotContext) => Result;
    /**
     * Visit a parse tree produced by the `ColumnExpressionSubstring`
     * labeled alternative in `ClickHouseParser.columnExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnExpressionSubstring?: (ctx: ColumnExpressionSubstringContext) => Result;
    /**
     * Visit a parse tree produced by the `ColumnExpressionCase`
     * labeled alternative in `ClickHouseParser.columnExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnExpressionCase?: (ctx: ColumnExpressionCaseContext) => Result;
    /**
     * Visit a parse tree produced by the `ColumnExpressionIdentifier`
     * labeled alternative in `ClickHouseParser.columnExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnExpressionIdentifier?: (ctx: ColumnExpressionIdentifierContext) => Result;
    /**
     * Visit a parse tree produced by the `ColumnExpressionArrayAccess`
     * labeled alternative in `ClickHouseParser.columnExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnExpressionArrayAccess?: (ctx: ColumnExpressionArrayAccessContext) => Result;
    /**
     * Visit a parse tree produced by the `ColumnExpressionFunction`
     * labeled alternative in `ClickHouseParser.columnExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnExpressionFunction?: (ctx: ColumnExpressionFunctionContext) => Result;
    /**
     * Visit a parse tree produced by the `ColumnExpressionAsterisk`
     * labeled alternative in `ClickHouseParser.columnExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnExpressionAsterisk?: (ctx: ColumnExpressionAsteriskContext) => Result;
    /**
     * Visit a parse tree produced by the `ColumnExpressionLiteral`
     * labeled alternative in `ClickHouseParser.columnExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnExpressionLiteral?: (ctx: ColumnExpressionLiteralContext) => Result;
    /**
     * Visit a parse tree produced by the `ColumnExpressionWinFunction`
     * labeled alternative in `ClickHouseParser.columnExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnExpressionWinFunction?: (ctx: ColumnExpressionWinFunctionContext) => Result;
    /**
     * Visit a parse tree produced by the `ColumnExpressionTernaryOp`
     * labeled alternative in `ClickHouseParser.columnExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnExpressionTernaryOp?: (ctx: ColumnExpressionTernaryOpContext) => Result;
    /**
     * Visit a parse tree produced by the `ColumnExpressionArray`
     * labeled alternative in `ClickHouseParser.columnExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnExpressionArray?: (ctx: ColumnExpressionArrayContext) => Result;
    /**
     * Visit a parse tree produced by the `ColumnExpressionTupleAccess`
     * labeled alternative in `ClickHouseParser.columnExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnExpressionTupleAccess?: (ctx: ColumnExpressionTupleAccessContext) => Result;
    /**
     * Visit a parse tree produced by the `ColumnExpressionParens`
     * labeled alternative in `ClickHouseParser.columnExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnExpressionParens?: (ctx: ColumnExpressionParensContext) => Result;
    /**
     * Visit a parse tree produced by the `ColumnExpressionWinFunctionTarget`
     * labeled alternative in `ClickHouseParser.columnExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnExpressionWinFunctionTarget?: (ctx: ColumnExpressionWinFunctionTargetContext) => Result;
    /**
     * Visit a parse tree produced by the `ColumnExpressionAlias`
     * labeled alternative in `ClickHouseParser.columnExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnExpressionAlias?: (ctx: ColumnExpressionAliasContext) => Result;
    /**
     * Visit a parse tree produced by the `ColumnExpressionExcept`
     * labeled alternative in `ClickHouseParser.columnExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnExpressionExcept?: (ctx: ColumnExpressionExceptContext) => Result;
    /**
     * Visit a parse tree produced by the `ColumnExpressionPrecedence3`
     * labeled alternative in `ClickHouseParser.columnExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnExpressionPrecedence3?: (ctx: ColumnExpressionPrecedence3Context) => Result;
    /**
     * Visit a parse tree produced by the `ColumnExpressionTimestamp`
     * labeled alternative in `ClickHouseParser.columnExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnExpressionTimestamp?: (ctx: ColumnExpressionTimestampContext) => Result;
    /**
     * Visit a parse tree produced by the `ColumnExpressionPrecedence2`
     * labeled alternative in `ClickHouseParser.columnExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnExpressionPrecedence2?: (ctx: ColumnExpressionPrecedence2Context) => Result;
    /**
     * Visit a parse tree produced by the `ColumnExpressionPrecedence1`
     * labeled alternative in `ClickHouseParser.columnExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnExpressionPrecedence1?: (ctx: ColumnExpressionPrecedence1Context) => Result;
    /**
     * Visit a parse tree produced by the `ColumnExpressionInterval`
     * labeled alternative in `ClickHouseParser.columnExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnExpressionInterval?: (ctx: ColumnExpressionIntervalContext) => Result;
    /**
     * Visit a parse tree produced by the `ColumnExpressionSubquery`
     * labeled alternative in `ClickHouseParser.columnExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnExpressionSubquery?: (ctx: ColumnExpressionSubqueryContext) => Result;
    /**
     * Visit a parse tree produced by the `ColumnExpressionNegate`
     * labeled alternative in `ClickHouseParser.columnExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnExpressionNegate?: (ctx: ColumnExpressionNegateContext) => Result;
    /**
     * Visit a parse tree produced by the `ColumnExpressionExtract`
     * labeled alternative in `ClickHouseParser.columnExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnExpressionExtract?: (ctx: ColumnExpressionExtractContext) => Result;
    /**
     * Visit a parse tree produced by the `ColumnExpressionCast`
     * labeled alternative in `ClickHouseParser.columnExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnExpressionCast?: (ctx: ColumnExpressionCastContext) => Result;
    /**
     * Visit a parse tree produced by the `ColumnExpressionOr`
     * labeled alternative in `ClickHouseParser.columnExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnExpressionOr?: (ctx: ColumnExpressionOrContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.columnArgumentList`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnArgumentList?: (ctx: ColumnArgumentListContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.columnArgumentExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnArgumentExpression?: (ctx: ColumnArgumentExpressionContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.columnLambdaExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnLambdaExpression?: (ctx: ColumnLambdaExpressionContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.columnIdentifier`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitColumnIdentifier?: (ctx: ColumnIdentifierContext) => Result;
    /**
     * Visit a parse tree produced by the `TableExpressionFunction`
     * labeled alternative in `ClickHouseParser.tableExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTableExpressionFunction?: (ctx: TableExpressionFunctionContext) => Result;
    /**
     * Visit a parse tree produced by the `TableExpressionIdentifier`
     * labeled alternative in `ClickHouseParser.tableExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTableExpressionIdentifier?: (ctx: TableExpressionIdentifierContext) => Result;
    /**
     * Visit a parse tree produced by the `TableExpressionAlias`
     * labeled alternative in `ClickHouseParser.tableExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTableExpressionAlias?: (ctx: TableExpressionAliasContext) => Result;
    /**
     * Visit a parse tree produced by the `TableExpressionSubquery`
     * labeled alternative in `ClickHouseParser.tableExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTableExpressionSubquery?: (ctx: TableExpressionSubqueryContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.tableFunctionExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTableFunctionExpression?: (ctx: TableFunctionExpressionContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.tableIdentifier`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTableIdentifier?: (ctx: TableIdentifierContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.tableArgList`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTableArgList?: (ctx: TableArgListContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.tableArgExpression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTableArgExpression?: (ctx: TableArgExpressionContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.databaseIdentifier`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitDatabaseIdentifier?: (ctx: DatabaseIdentifierContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.floatingLiteral`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitFloatingLiteral?: (ctx: FloatingLiteralContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.numberLiteral`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitNumberLiteral?: (ctx: NumberLiteralContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.literal`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitLiteral?: (ctx: LiteralContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.interval`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitInterval?: (ctx: IntervalContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.keyword`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitKeyword?: (ctx: KeywordContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.keywordForAlias`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitKeywordForAlias?: (ctx: KeywordForAliasContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.alias`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitAlias?: (ctx: AliasContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.identifier`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitIdentifier?: (ctx: IdentifierContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.identifierOrNull`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitIdentifierOrNull?: (ctx: IdentifierOrNullContext) => Result;
    /**
     * Visit a parse tree produced by `ClickHouseParser.enumValue`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitEnumValue?: (ctx: EnumValueContext) => Result;
}
