import { ParseTreeListener } from "antlr4ts/tree/ParseTreeListener";
import { TermExpressionContext } from "./fhirpathParser";
import { InvocationExpressionContext } from "./fhirpathParser";
import { IndexerExpressionContext } from "./fhirpathParser";
import { PolarityExpressionContext } from "./fhirpathParser";
import { MultiplicativeExpressionContext } from "./fhirpathParser";
import { AdditiveExpressionContext } from "./fhirpathParser";
import { TypeExpressionContext } from "./fhirpathParser";
import { UnionExpressionContext } from "./fhirpathParser";
import { InequalityExpressionContext } from "./fhirpathParser";
import { EqualityExpressionContext } from "./fhirpathParser";
import { MembershipExpressionContext } from "./fhirpathParser";
import { AndExpressionContext } from "./fhirpathParser";
import { OrExpressionContext } from "./fhirpathParser";
import { ImpliesExpressionContext } from "./fhirpathParser";
import { NullLiteralContext } from "./fhirpathParser";
import { BooleanLiteralContext } from "./fhirpathParser";
import { StringLiteralContext } from "./fhirpathParser";
import { NumberLiteralContext } from "./fhirpathParser";
import { DateLiteralContext } from "./fhirpathParser";
import { DateTimeLiteralContext } from "./fhirpathParser";
import { TimeLiteralContext } from "./fhirpathParser";
import { QuantityLiteralContext } from "./fhirpathParser";
import { MemberInvocationContext } from "./fhirpathParser";
import { FunctionInvocationContext } from "./fhirpathParser";
import { ThisInvocationContext } from "./fhirpathParser";
import { IndexInvocationContext } from "./fhirpathParser";
import { TotalInvocationContext } from "./fhirpathParser";
import { InvocationTermContext } from "./fhirpathParser";
import { LiteralTermContext } from "./fhirpathParser";
import { ExternalConstantTermContext } from "./fhirpathParser";
import { ParenthesizedTermContext } from "./fhirpathParser";
import { ExpressionContext } from "./fhirpathParser";
import { TermContext } from "./fhirpathParser";
import { LiteralContext } from "./fhirpathParser";
import { ExternalConstantContext } from "./fhirpathParser";
import { InvocationContext } from "./fhirpathParser";
import { FunctionContext } from "./fhirpathParser";
import { ParamListContext } from "./fhirpathParser";
import { QuantityContext } from "./fhirpathParser";
import { UnitContext } from "./fhirpathParser";
import { DateTimePrecisionContext } from "./fhirpathParser";
import { PluralDateTimePrecisionContext } from "./fhirpathParser";
import { TypeSpecifierContext } from "./fhirpathParser";
import { QualifiedIdentifierContext } from "./fhirpathParser";
import { IdentifierContext } from "./fhirpathParser";
/**
 * This interface defines a complete listener for a parse tree produced by
 * `fhirpathParser`.
 */
export interface fhirpathListener extends ParseTreeListener {
    /**
     * Enter a parse tree produced by the `termExpression`
     * labeled alternative in `fhirpathParser.expression`.
     * @param ctx the parse tree
     */
    enterTermExpression?: (ctx: TermExpressionContext) => void;
    /**
     * Exit a parse tree produced by the `termExpression`
     * labeled alternative in `fhirpathParser.expression`.
     * @param ctx the parse tree
     */
    exitTermExpression?: (ctx: TermExpressionContext) => void;
    /**
     * Enter a parse tree produced by the `invocationExpression`
     * labeled alternative in `fhirpathParser.expression`.
     * @param ctx the parse tree
     */
    enterInvocationExpression?: (ctx: InvocationExpressionContext) => void;
    /**
     * Exit a parse tree produced by the `invocationExpression`
     * labeled alternative in `fhirpathParser.expression`.
     * @param ctx the parse tree
     */
    exitInvocationExpression?: (ctx: InvocationExpressionContext) => void;
    /**
     * Enter a parse tree produced by the `indexerExpression`
     * labeled alternative in `fhirpathParser.expression`.
     * @param ctx the parse tree
     */
    enterIndexerExpression?: (ctx: IndexerExpressionContext) => void;
    /**
     * Exit a parse tree produced by the `indexerExpression`
     * labeled alternative in `fhirpathParser.expression`.
     * @param ctx the parse tree
     */
    exitIndexerExpression?: (ctx: IndexerExpressionContext) => void;
    /**
     * Enter a parse tree produced by the `polarityExpression`
     * labeled alternative in `fhirpathParser.expression`.
     * @param ctx the parse tree
     */
    enterPolarityExpression?: (ctx: PolarityExpressionContext) => void;
    /**
     * Exit a parse tree produced by the `polarityExpression`
     * labeled alternative in `fhirpathParser.expression`.
     * @param ctx the parse tree
     */
    exitPolarityExpression?: (ctx: PolarityExpressionContext) => void;
    /**
     * Enter a parse tree produced by the `multiplicativeExpression`
     * labeled alternative in `fhirpathParser.expression`.
     * @param ctx the parse tree
     */
    enterMultiplicativeExpression?: (ctx: MultiplicativeExpressionContext) => void;
    /**
     * Exit a parse tree produced by the `multiplicativeExpression`
     * labeled alternative in `fhirpathParser.expression`.
     * @param ctx the parse tree
     */
    exitMultiplicativeExpression?: (ctx: MultiplicativeExpressionContext) => void;
    /**
     * Enter a parse tree produced by the `additiveExpression`
     * labeled alternative in `fhirpathParser.expression`.
     * @param ctx the parse tree
     */
    enterAdditiveExpression?: (ctx: AdditiveExpressionContext) => void;
    /**
     * Exit a parse tree produced by the `additiveExpression`
     * labeled alternative in `fhirpathParser.expression`.
     * @param ctx the parse tree
     */
    exitAdditiveExpression?: (ctx: AdditiveExpressionContext) => void;
    /**
     * Enter a parse tree produced by the `typeExpression`
     * labeled alternative in `fhirpathParser.expression`.
     * @param ctx the parse tree
     */
    enterTypeExpression?: (ctx: TypeExpressionContext) => void;
    /**
     * Exit a parse tree produced by the `typeExpression`
     * labeled alternative in `fhirpathParser.expression`.
     * @param ctx the parse tree
     */
    exitTypeExpression?: (ctx: TypeExpressionContext) => void;
    /**
     * Enter a parse tree produced by the `unionExpression`
     * labeled alternative in `fhirpathParser.expression`.
     * @param ctx the parse tree
     */
    enterUnionExpression?: (ctx: UnionExpressionContext) => void;
    /**
     * Exit a parse tree produced by the `unionExpression`
     * labeled alternative in `fhirpathParser.expression`.
     * @param ctx the parse tree
     */
    exitUnionExpression?: (ctx: UnionExpressionContext) => void;
    /**
     * Enter a parse tree produced by the `inequalityExpression`
     * labeled alternative in `fhirpathParser.expression`.
     * @param ctx the parse tree
     */
    enterInequalityExpression?: (ctx: InequalityExpressionContext) => void;
    /**
     * Exit a parse tree produced by the `inequalityExpression`
     * labeled alternative in `fhirpathParser.expression`.
     * @param ctx the parse tree
     */
    exitInequalityExpression?: (ctx: InequalityExpressionContext) => void;
    /**
     * Enter a parse tree produced by the `equalityExpression`
     * labeled alternative in `fhirpathParser.expression`.
     * @param ctx the parse tree
     */
    enterEqualityExpression?: (ctx: EqualityExpressionContext) => void;
    /**
     * Exit a parse tree produced by the `equalityExpression`
     * labeled alternative in `fhirpathParser.expression`.
     * @param ctx the parse tree
     */
    exitEqualityExpression?: (ctx: EqualityExpressionContext) => void;
    /**
     * Enter a parse tree produced by the `membershipExpression`
     * labeled alternative in `fhirpathParser.expression`.
     * @param ctx the parse tree
     */
    enterMembershipExpression?: (ctx: MembershipExpressionContext) => void;
    /**
     * Exit a parse tree produced by the `membershipExpression`
     * labeled alternative in `fhirpathParser.expression`.
     * @param ctx the parse tree
     */
    exitMembershipExpression?: (ctx: MembershipExpressionContext) => void;
    /**
     * Enter a parse tree produced by the `andExpression`
     * labeled alternative in `fhirpathParser.expression`.
     * @param ctx the parse tree
     */
    enterAndExpression?: (ctx: AndExpressionContext) => void;
    /**
     * Exit a parse tree produced by the `andExpression`
     * labeled alternative in `fhirpathParser.expression`.
     * @param ctx the parse tree
     */
    exitAndExpression?: (ctx: AndExpressionContext) => void;
    /**
     * Enter a parse tree produced by the `orExpression`
     * labeled alternative in `fhirpathParser.expression`.
     * @param ctx the parse tree
     */
    enterOrExpression?: (ctx: OrExpressionContext) => void;
    /**
     * Exit a parse tree produced by the `orExpression`
     * labeled alternative in `fhirpathParser.expression`.
     * @param ctx the parse tree
     */
    exitOrExpression?: (ctx: OrExpressionContext) => void;
    /**
     * Enter a parse tree produced by the `impliesExpression`
     * labeled alternative in `fhirpathParser.expression`.
     * @param ctx the parse tree
     */
    enterImpliesExpression?: (ctx: ImpliesExpressionContext) => void;
    /**
     * Exit a parse tree produced by the `impliesExpression`
     * labeled alternative in `fhirpathParser.expression`.
     * @param ctx the parse tree
     */
    exitImpliesExpression?: (ctx: ImpliesExpressionContext) => void;
    /**
     * Enter a parse tree produced by the `nullLiteral`
     * labeled alternative in `fhirpathParser.literal`.
     * @param ctx the parse tree
     */
    enterNullLiteral?: (ctx: NullLiteralContext) => void;
    /**
     * Exit a parse tree produced by the `nullLiteral`
     * labeled alternative in `fhirpathParser.literal`.
     * @param ctx the parse tree
     */
    exitNullLiteral?: (ctx: NullLiteralContext) => void;
    /**
     * Enter a parse tree produced by the `booleanLiteral`
     * labeled alternative in `fhirpathParser.literal`.
     * @param ctx the parse tree
     */
    enterBooleanLiteral?: (ctx: BooleanLiteralContext) => void;
    /**
     * Exit a parse tree produced by the `booleanLiteral`
     * labeled alternative in `fhirpathParser.literal`.
     * @param ctx the parse tree
     */
    exitBooleanLiteral?: (ctx: BooleanLiteralContext) => void;
    /**
     * Enter a parse tree produced by the `stringLiteral`
     * labeled alternative in `fhirpathParser.literal`.
     * @param ctx the parse tree
     */
    enterStringLiteral?: (ctx: StringLiteralContext) => void;
    /**
     * Exit a parse tree produced by the `stringLiteral`
     * labeled alternative in `fhirpathParser.literal`.
     * @param ctx the parse tree
     */
    exitStringLiteral?: (ctx: StringLiteralContext) => void;
    /**
     * Enter a parse tree produced by the `numberLiteral`
     * labeled alternative in `fhirpathParser.literal`.
     * @param ctx the parse tree
     */
    enterNumberLiteral?: (ctx: NumberLiteralContext) => void;
    /**
     * Exit a parse tree produced by the `numberLiteral`
     * labeled alternative in `fhirpathParser.literal`.
     * @param ctx the parse tree
     */
    exitNumberLiteral?: (ctx: NumberLiteralContext) => void;
    /**
     * Enter a parse tree produced by the `dateLiteral`
     * labeled alternative in `fhirpathParser.literal`.
     * @param ctx the parse tree
     */
    enterDateLiteral?: (ctx: DateLiteralContext) => void;
    /**
     * Exit a parse tree produced by the `dateLiteral`
     * labeled alternative in `fhirpathParser.literal`.
     * @param ctx the parse tree
     */
    exitDateLiteral?: (ctx: DateLiteralContext) => void;
    /**
     * Enter a parse tree produced by the `dateTimeLiteral`
     * labeled alternative in `fhirpathParser.literal`.
     * @param ctx the parse tree
     */
    enterDateTimeLiteral?: (ctx: DateTimeLiteralContext) => void;
    /**
     * Exit a parse tree produced by the `dateTimeLiteral`
     * labeled alternative in `fhirpathParser.literal`.
     * @param ctx the parse tree
     */
    exitDateTimeLiteral?: (ctx: DateTimeLiteralContext) => void;
    /**
     * Enter a parse tree produced by the `timeLiteral`
     * labeled alternative in `fhirpathParser.literal`.
     * @param ctx the parse tree
     */
    enterTimeLiteral?: (ctx: TimeLiteralContext) => void;
    /**
     * Exit a parse tree produced by the `timeLiteral`
     * labeled alternative in `fhirpathParser.literal`.
     * @param ctx the parse tree
     */
    exitTimeLiteral?: (ctx: TimeLiteralContext) => void;
    /**
     * Enter a parse tree produced by the `quantityLiteral`
     * labeled alternative in `fhirpathParser.literal`.
     * @param ctx the parse tree
     */
    enterQuantityLiteral?: (ctx: QuantityLiteralContext) => void;
    /**
     * Exit a parse tree produced by the `quantityLiteral`
     * labeled alternative in `fhirpathParser.literal`.
     * @param ctx the parse tree
     */
    exitQuantityLiteral?: (ctx: QuantityLiteralContext) => void;
    /**
     * Enter a parse tree produced by the `memberInvocation`
     * labeled alternative in `fhirpathParser.invocation`.
     * @param ctx the parse tree
     */
    enterMemberInvocation?: (ctx: MemberInvocationContext) => void;
    /**
     * Exit a parse tree produced by the `memberInvocation`
     * labeled alternative in `fhirpathParser.invocation`.
     * @param ctx the parse tree
     */
    exitMemberInvocation?: (ctx: MemberInvocationContext) => void;
    /**
     * Enter a parse tree produced by the `functionInvocation`
     * labeled alternative in `fhirpathParser.invocation`.
     * @param ctx the parse tree
     */
    enterFunctionInvocation?: (ctx: FunctionInvocationContext) => void;
    /**
     * Exit a parse tree produced by the `functionInvocation`
     * labeled alternative in `fhirpathParser.invocation`.
     * @param ctx the parse tree
     */
    exitFunctionInvocation?: (ctx: FunctionInvocationContext) => void;
    /**
     * Enter a parse tree produced by the `thisInvocation`
     * labeled alternative in `fhirpathParser.invocation`.
     * @param ctx the parse tree
     */
    enterThisInvocation?: (ctx: ThisInvocationContext) => void;
    /**
     * Exit a parse tree produced by the `thisInvocation`
     * labeled alternative in `fhirpathParser.invocation`.
     * @param ctx the parse tree
     */
    exitThisInvocation?: (ctx: ThisInvocationContext) => void;
    /**
     * Enter a parse tree produced by the `indexInvocation`
     * labeled alternative in `fhirpathParser.invocation`.
     * @param ctx the parse tree
     */
    enterIndexInvocation?: (ctx: IndexInvocationContext) => void;
    /**
     * Exit a parse tree produced by the `indexInvocation`
     * labeled alternative in `fhirpathParser.invocation`.
     * @param ctx the parse tree
     */
    exitIndexInvocation?: (ctx: IndexInvocationContext) => void;
    /**
     * Enter a parse tree produced by the `totalInvocation`
     * labeled alternative in `fhirpathParser.invocation`.
     * @param ctx the parse tree
     */
    enterTotalInvocation?: (ctx: TotalInvocationContext) => void;
    /**
     * Exit a parse tree produced by the `totalInvocation`
     * labeled alternative in `fhirpathParser.invocation`.
     * @param ctx the parse tree
     */
    exitTotalInvocation?: (ctx: TotalInvocationContext) => void;
    /**
     * Enter a parse tree produced by the `invocationTerm`
     * labeled alternative in `fhirpathParser.term`.
     * @param ctx the parse tree
     */
    enterInvocationTerm?: (ctx: InvocationTermContext) => void;
    /**
     * Exit a parse tree produced by the `invocationTerm`
     * labeled alternative in `fhirpathParser.term`.
     * @param ctx the parse tree
     */
    exitInvocationTerm?: (ctx: InvocationTermContext) => void;
    /**
     * Enter a parse tree produced by the `literalTerm`
     * labeled alternative in `fhirpathParser.term`.
     * @param ctx the parse tree
     */
    enterLiteralTerm?: (ctx: LiteralTermContext) => void;
    /**
     * Exit a parse tree produced by the `literalTerm`
     * labeled alternative in `fhirpathParser.term`.
     * @param ctx the parse tree
     */
    exitLiteralTerm?: (ctx: LiteralTermContext) => void;
    /**
     * Enter a parse tree produced by the `externalConstantTerm`
     * labeled alternative in `fhirpathParser.term`.
     * @param ctx the parse tree
     */
    enterExternalConstantTerm?: (ctx: ExternalConstantTermContext) => void;
    /**
     * Exit a parse tree produced by the `externalConstantTerm`
     * labeled alternative in `fhirpathParser.term`.
     * @param ctx the parse tree
     */
    exitExternalConstantTerm?: (ctx: ExternalConstantTermContext) => void;
    /**
     * Enter a parse tree produced by the `parenthesizedTerm`
     * labeled alternative in `fhirpathParser.term`.
     * @param ctx the parse tree
     */
    enterParenthesizedTerm?: (ctx: ParenthesizedTermContext) => void;
    /**
     * Exit a parse tree produced by the `parenthesizedTerm`
     * labeled alternative in `fhirpathParser.term`.
     * @param ctx the parse tree
     */
    exitParenthesizedTerm?: (ctx: ParenthesizedTermContext) => void;
    /**
     * Enter a parse tree produced by `fhirpathParser.expression`.
     * @param ctx the parse tree
     */
    enterExpression?: (ctx: ExpressionContext) => void;
    /**
     * Exit a parse tree produced by `fhirpathParser.expression`.
     * @param ctx the parse tree
     */
    exitExpression?: (ctx: ExpressionContext) => void;
    /**
     * Enter a parse tree produced by `fhirpathParser.term`.
     * @param ctx the parse tree
     */
    enterTerm?: (ctx: TermContext) => void;
    /**
     * Exit a parse tree produced by `fhirpathParser.term`.
     * @param ctx the parse tree
     */
    exitTerm?: (ctx: TermContext) => void;
    /**
     * Enter a parse tree produced by `fhirpathParser.literal`.
     * @param ctx the parse tree
     */
    enterLiteral?: (ctx: LiteralContext) => void;
    /**
     * Exit a parse tree produced by `fhirpathParser.literal`.
     * @param ctx the parse tree
     */
    exitLiteral?: (ctx: LiteralContext) => void;
    /**
     * Enter a parse tree produced by `fhirpathParser.externalConstant`.
     * @param ctx the parse tree
     */
    enterExternalConstant?: (ctx: ExternalConstantContext) => void;
    /**
     * Exit a parse tree produced by `fhirpathParser.externalConstant`.
     * @param ctx the parse tree
     */
    exitExternalConstant?: (ctx: ExternalConstantContext) => void;
    /**
     * Enter a parse tree produced by `fhirpathParser.invocation`.
     * @param ctx the parse tree
     */
    enterInvocation?: (ctx: InvocationContext) => void;
    /**
     * Exit a parse tree produced by `fhirpathParser.invocation`.
     * @param ctx the parse tree
     */
    exitInvocation?: (ctx: InvocationContext) => void;
    /**
     * Enter a parse tree produced by `fhirpathParser.function`.
     * @param ctx the parse tree
     */
    enterFunction?: (ctx: FunctionContext) => void;
    /**
     * Exit a parse tree produced by `fhirpathParser.function`.
     * @param ctx the parse tree
     */
    exitFunction?: (ctx: FunctionContext) => void;
    /**
     * Enter a parse tree produced by `fhirpathParser.paramList`.
     * @param ctx the parse tree
     */
    enterParamList?: (ctx: ParamListContext) => void;
    /**
     * Exit a parse tree produced by `fhirpathParser.paramList`.
     * @param ctx the parse tree
     */
    exitParamList?: (ctx: ParamListContext) => void;
    /**
     * Enter a parse tree produced by `fhirpathParser.quantity`.
     * @param ctx the parse tree
     */
    enterQuantity?: (ctx: QuantityContext) => void;
    /**
     * Exit a parse tree produced by `fhirpathParser.quantity`.
     * @param ctx the parse tree
     */
    exitQuantity?: (ctx: QuantityContext) => void;
    /**
     * Enter a parse tree produced by `fhirpathParser.unit`.
     * @param ctx the parse tree
     */
    enterUnit?: (ctx: UnitContext) => void;
    /**
     * Exit a parse tree produced by `fhirpathParser.unit`.
     * @param ctx the parse tree
     */
    exitUnit?: (ctx: UnitContext) => void;
    /**
     * Enter a parse tree produced by `fhirpathParser.dateTimePrecision`.
     * @param ctx the parse tree
     */
    enterDateTimePrecision?: (ctx: DateTimePrecisionContext) => void;
    /**
     * Exit a parse tree produced by `fhirpathParser.dateTimePrecision`.
     * @param ctx the parse tree
     */
    exitDateTimePrecision?: (ctx: DateTimePrecisionContext) => void;
    /**
     * Enter a parse tree produced by `fhirpathParser.pluralDateTimePrecision`.
     * @param ctx the parse tree
     */
    enterPluralDateTimePrecision?: (ctx: PluralDateTimePrecisionContext) => void;
    /**
     * Exit a parse tree produced by `fhirpathParser.pluralDateTimePrecision`.
     * @param ctx the parse tree
     */
    exitPluralDateTimePrecision?: (ctx: PluralDateTimePrecisionContext) => void;
    /**
     * Enter a parse tree produced by `fhirpathParser.typeSpecifier`.
     * @param ctx the parse tree
     */
    enterTypeSpecifier?: (ctx: TypeSpecifierContext) => void;
    /**
     * Exit a parse tree produced by `fhirpathParser.typeSpecifier`.
     * @param ctx the parse tree
     */
    exitTypeSpecifier?: (ctx: TypeSpecifierContext) => void;
    /**
     * Enter a parse tree produced by `fhirpathParser.qualifiedIdentifier`.
     * @param ctx the parse tree
     */
    enterQualifiedIdentifier?: (ctx: QualifiedIdentifierContext) => void;
    /**
     * Exit a parse tree produced by `fhirpathParser.qualifiedIdentifier`.
     * @param ctx the parse tree
     */
    exitQualifiedIdentifier?: (ctx: QualifiedIdentifierContext) => void;
    /**
     * Enter a parse tree produced by `fhirpathParser.identifier`.
     * @param ctx the parse tree
     */
    enterIdentifier?: (ctx: IdentifierContext) => void;
    /**
     * Exit a parse tree produced by `fhirpathParser.identifier`.
     * @param ctx the parse tree
     */
    exitIdentifier?: (ctx: IdentifierContext) => void;
}
//# sourceMappingURL=fhirpathListener.d.ts.map