import { ParseTreeVisitor } from "antlr4ts/tree/ParseTreeVisitor";
import { MemberInvocationContext } from "./FhirMapperParser";
import { FunctionInvocationContext } from "./FhirMapperParser";
import { ThisInvocationContext } from "./FhirMapperParser";
import { IndexInvocationContext } from "./FhirMapperParser";
import { TotalInvocationContext } from "./FhirMapperParser";
import { InvocationTermContext } from "./FhirMapperParser";
import { LiteralTermContext } from "./FhirMapperParser";
import { ExternalConstantTermContext } from "./FhirMapperParser";
import { ParenthesizedTermContext } from "./FhirMapperParser";
import { TermExpressionContext } from "./FhirMapperParser";
import { InvocationExpressionContext } from "./FhirMapperParser";
import { IndexerExpressionContext } from "./FhirMapperParser";
import { PolarityExpressionContext } from "./FhirMapperParser";
import { MultiplicativeExpressionContext } from "./FhirMapperParser";
import { AdditiveExpressionContext } from "./FhirMapperParser";
import { TypeExpressionContext } from "./FhirMapperParser";
import { UnionExpressionContext } from "./FhirMapperParser";
import { InequalityExpressionContext } from "./FhirMapperParser";
import { EqualityExpressionContext } from "./FhirMapperParser";
import { MembershipExpressionContext } from "./FhirMapperParser";
import { AndExpressionContext } from "./FhirMapperParser";
import { OrExpressionContext } from "./FhirMapperParser";
import { ImpliesExpressionContext } from "./FhirMapperParser";
import { StructureMapContext } from "./FhirMapperParser";
import { MetadataContext } from "./FhirMapperParser";
import { MetadataKeyContext } from "./FhirMapperParser";
import { MetadataValueContext } from "./FhirMapperParser";
import { MapIdContext } from "./FhirMapperParser";
import { MapAliasContext } from "./FhirMapperParser";
import { UrlContext } from "./FhirMapperParser";
import { VariableIdContext } from "./FhirMapperParser";
import { StructureContext } from "./FhirMapperParser";
import { StructureAliasContext } from "./FhirMapperParser";
import { ImportsContext } from "./FhirMapperParser";
import { ConstRuleContext } from "./FhirMapperParser";
import { GroupContext } from "./FhirMapperParser";
import { RulesContext } from "./FhirMapperParser";
import { TypeModeContext } from "./FhirMapperParser";
import { ExtendsRuleContext } from "./FhirMapperParser";
import { ParametersContext } from "./FhirMapperParser";
import { ParameterContext } from "./FhirMapperParser";
import { TypeContext } from "./FhirMapperParser";
import { RuleDefinitionContext } from "./FhirMapperParser";
import { RuleNameContext } from "./FhirMapperParser";
import { RuleSourcesContext } from "./FhirMapperParser";
import { RuleSourceContext } from "./FhirMapperParser";
import { RuleTargetsContext } from "./FhirMapperParser";
import { SourceTypeContext } from "./FhirMapperParser";
import { SourceCardinalityContext } from "./FhirMapperParser";
import { UpperBoundContext } from "./FhirMapperParser";
import { RuleCtxContext } from "./FhirMapperParser";
import { SourceDefaultContext } from "./FhirMapperParser";
import { AliasContext } from "./FhirMapperParser";
import { WhereClauseContext } from "./FhirMapperParser";
import { CheckClauseContext } from "./FhirMapperParser";
import { LogContext } from "./FhirMapperParser";
import { DependentContext } from "./FhirMapperParser";
import { RuleTargetContext } from "./FhirMapperParser";
import { TransformContext } from "./FhirMapperParser";
import { NamedInvocationContext } from "./FhirMapperParser";
import { ParamListContext } from "./FhirMapperParser";
import { ParamContext } from "./FhirMapperParser";
import { FhirPathContext } from "./FhirMapperParser";
import { LiteralContext } from "./FhirMapperParser";
import { GroupTypeModeContext } from "./FhirMapperParser";
import { SourceListModeContext } from "./FhirMapperParser";
import { TargetListModeContext } from "./FhirMapperParser";
import { InputModeContext } from "./FhirMapperParser";
import { ModelModeContext } from "./FhirMapperParser";
import { MarkdownContext } from "./FhirMapperParser";
import { ExpressionContext } from "./FhirMapperParser";
import { TermContext } from "./FhirMapperParser";
import { ExternalConstantContext } from "./FhirMapperParser";
import { InvocationContext } from "./FhirMapperParser";
import { FunctionContext } from "./FhirMapperParser";
import { QuantityContext } from "./FhirMapperParser";
import { UnitContext } from "./FhirMapperParser";
import { DateTimePrecisionContext } from "./FhirMapperParser";
import { PluralDateTimePrecisionContext } from "./FhirMapperParser";
import { TypeSpecifierContext } from "./FhirMapperParser";
import { QualifiedIdentifierContext } from "./FhirMapperParser";
import { IdentifierContext } from "./FhirMapperParser";
/**
 * This interface defines a complete generic visitor for a parse tree produced
 * by `FhirMapperParser`.
 *
 * @param <Result> The return type of the visit operation. Use `void` for
 * operations with no return type.
 */
export interface FhirMapperVisitor<Result> extends ParseTreeVisitor<Result> {
    /**
     * Visit a parse tree produced by the `memberInvocation`
     * labeled alternative in `FhirMapperParser.invocation`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitMemberInvocation?: (ctx: MemberInvocationContext) => Result;
    /**
     * Visit a parse tree produced by the `functionInvocation`
     * labeled alternative in `FhirMapperParser.invocation`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitFunctionInvocation?: (ctx: FunctionInvocationContext) => Result;
    /**
     * Visit a parse tree produced by the `thisInvocation`
     * labeled alternative in `FhirMapperParser.invocation`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitThisInvocation?: (ctx: ThisInvocationContext) => Result;
    /**
     * Visit a parse tree produced by the `indexInvocation`
     * labeled alternative in `FhirMapperParser.invocation`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitIndexInvocation?: (ctx: IndexInvocationContext) => Result;
    /**
     * Visit a parse tree produced by the `totalInvocation`
     * labeled alternative in `FhirMapperParser.invocation`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTotalInvocation?: (ctx: TotalInvocationContext) => Result;
    /**
     * Visit a parse tree produced by the `invocationTerm`
     * labeled alternative in `FhirMapperParser.term`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitInvocationTerm?: (ctx: InvocationTermContext) => Result;
    /**
     * Visit a parse tree produced by the `literalTerm`
     * labeled alternative in `FhirMapperParser.term`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitLiteralTerm?: (ctx: LiteralTermContext) => Result;
    /**
     * Visit a parse tree produced by the `externalConstantTerm`
     * labeled alternative in `FhirMapperParser.term`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitExternalConstantTerm?: (ctx: ExternalConstantTermContext) => Result;
    /**
     * Visit a parse tree produced by the `parenthesizedTerm`
     * labeled alternative in `FhirMapperParser.term`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitParenthesizedTerm?: (ctx: ParenthesizedTermContext) => Result;
    /**
     * Visit a parse tree produced by the `termExpression`
     * labeled alternative in `FhirMapperParser.expression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTermExpression?: (ctx: TermExpressionContext) => Result;
    /**
     * Visit a parse tree produced by the `invocationExpression`
     * labeled alternative in `FhirMapperParser.expression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitInvocationExpression?: (ctx: InvocationExpressionContext) => Result;
    /**
     * Visit a parse tree produced by the `indexerExpression`
     * labeled alternative in `FhirMapperParser.expression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitIndexerExpression?: (ctx: IndexerExpressionContext) => Result;
    /**
     * Visit a parse tree produced by the `polarityExpression`
     * labeled alternative in `FhirMapperParser.expression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitPolarityExpression?: (ctx: PolarityExpressionContext) => Result;
    /**
     * Visit a parse tree produced by the `multiplicativeExpression`
     * labeled alternative in `FhirMapperParser.expression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitMultiplicativeExpression?: (ctx: MultiplicativeExpressionContext) => Result;
    /**
     * Visit a parse tree produced by the `additiveExpression`
     * labeled alternative in `FhirMapperParser.expression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitAdditiveExpression?: (ctx: AdditiveExpressionContext) => Result;
    /**
     * Visit a parse tree produced by the `typeExpression`
     * labeled alternative in `FhirMapperParser.expression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTypeExpression?: (ctx: TypeExpressionContext) => Result;
    /**
     * Visit a parse tree produced by the `unionExpression`
     * labeled alternative in `FhirMapperParser.expression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitUnionExpression?: (ctx: UnionExpressionContext) => Result;
    /**
     * Visit a parse tree produced by the `inequalityExpression`
     * labeled alternative in `FhirMapperParser.expression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitInequalityExpression?: (ctx: InequalityExpressionContext) => Result;
    /**
     * Visit a parse tree produced by the `equalityExpression`
     * labeled alternative in `FhirMapperParser.expression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitEqualityExpression?: (ctx: EqualityExpressionContext) => Result;
    /**
     * Visit a parse tree produced by the `membershipExpression`
     * labeled alternative in `FhirMapperParser.expression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitMembershipExpression?: (ctx: MembershipExpressionContext) => Result;
    /**
     * Visit a parse tree produced by the `andExpression`
     * labeled alternative in `FhirMapperParser.expression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitAndExpression?: (ctx: AndExpressionContext) => Result;
    /**
     * Visit a parse tree produced by the `orExpression`
     * labeled alternative in `FhirMapperParser.expression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitOrExpression?: (ctx: OrExpressionContext) => Result;
    /**
     * Visit a parse tree produced by the `impliesExpression`
     * labeled alternative in `FhirMapperParser.expression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitImpliesExpression?: (ctx: ImpliesExpressionContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.structureMap`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitStructureMap?: (ctx: StructureMapContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.metadata`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitMetadata?: (ctx: MetadataContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.metadataKey`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitMetadataKey?: (ctx: MetadataKeyContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.metadataValue`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitMetadataValue?: (ctx: MetadataValueContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.mapId`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitMapId?: (ctx: MapIdContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.mapAlias`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitMapAlias?: (ctx: MapAliasContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.url`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitUrl?: (ctx: UrlContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.variableId`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitVariableId?: (ctx: VariableIdContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.structure`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitStructure?: (ctx: StructureContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.structureAlias`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitStructureAlias?: (ctx: StructureAliasContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.imports`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitImports?: (ctx: ImportsContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.constRule`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitConstRule?: (ctx: ConstRuleContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.group`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitGroup?: (ctx: GroupContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.rules`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitRules?: (ctx: RulesContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.typeMode`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTypeMode?: (ctx: TypeModeContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.extendsRule`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitExtendsRule?: (ctx: ExtendsRuleContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.parameters`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitParameters?: (ctx: ParametersContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.parameter`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitParameter?: (ctx: ParameterContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.type`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitType?: (ctx: TypeContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.ruleDefinition`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitRuleDefinition?: (ctx: RuleDefinitionContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.ruleName`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitRuleName?: (ctx: RuleNameContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.ruleSources`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitRuleSources?: (ctx: RuleSourcesContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.ruleSource`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitRuleSource?: (ctx: RuleSourceContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.ruleTargets`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitRuleTargets?: (ctx: RuleTargetsContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.sourceType`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitSourceType?: (ctx: SourceTypeContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.sourceCardinality`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitSourceCardinality?: (ctx: SourceCardinalityContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.upperBound`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitUpperBound?: (ctx: UpperBoundContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.ruleCtx`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitRuleCtx?: (ctx: RuleCtxContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.sourceDefault`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitSourceDefault?: (ctx: SourceDefaultContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.alias`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitAlias?: (ctx: AliasContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.whereClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitWhereClause?: (ctx: WhereClauseContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.checkClause`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitCheckClause?: (ctx: CheckClauseContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.log`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitLog?: (ctx: LogContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.dependent`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitDependent?: (ctx: DependentContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.ruleTarget`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitRuleTarget?: (ctx: RuleTargetContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.transform`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTransform?: (ctx: TransformContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.namedInvocation`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitNamedInvocation?: (ctx: NamedInvocationContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.paramList`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitParamList?: (ctx: ParamListContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.param`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitParam?: (ctx: ParamContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.fhirPath`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitFhirPath?: (ctx: FhirPathContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.literal`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitLiteral?: (ctx: LiteralContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.groupTypeMode`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitGroupTypeMode?: (ctx: GroupTypeModeContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.sourceListMode`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitSourceListMode?: (ctx: SourceListModeContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.targetListMode`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTargetListMode?: (ctx: TargetListModeContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.inputMode`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitInputMode?: (ctx: InputModeContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.modelMode`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitModelMode?: (ctx: ModelModeContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.markdown`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitMarkdown?: (ctx: MarkdownContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.expression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitExpression?: (ctx: ExpressionContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.term`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTerm?: (ctx: TermContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.externalConstant`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitExternalConstant?: (ctx: ExternalConstantContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.invocation`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitInvocation?: (ctx: InvocationContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.function`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitFunction?: (ctx: FunctionContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.quantity`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitQuantity?: (ctx: QuantityContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.unit`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitUnit?: (ctx: UnitContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.dateTimePrecision`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitDateTimePrecision?: (ctx: DateTimePrecisionContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.pluralDateTimePrecision`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitPluralDateTimePrecision?: (ctx: PluralDateTimePrecisionContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.typeSpecifier`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTypeSpecifier?: (ctx: TypeSpecifierContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.qualifiedIdentifier`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitQualifiedIdentifier?: (ctx: QualifiedIdentifierContext) => Result;
    /**
     * Visit a parse tree produced by `FhirMapperParser.identifier`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitIdentifier?: (ctx: IdentifierContext) => Result;
}
//# sourceMappingURL=FhirMapperVisitor.d.ts.map