import { AbstractParseTreeVisitor } from 'antlr4ng';
import { ParseContext, SelfExpressionContext, UnaryMinusExpressionContext, NotExpressionContext, LiteralExpressionContext, IdentifierExpressionContext, ParenthesesExpressionContext, PowerExpressionContext, MultiplyDivideModExpressionContext, AddSubtractExpressionContext, ComparisonExpressionContext, InExpressionContext, EqualityExpressionContext, AndExpressionContext, XorExpressionContext, OrExpressionContext, ImpliesExpressionContext, TernaryExpressionContext, FunctionCallExpressionContext, NavigationExpressionContext, IndexAccessExpressionContext, NumericLiteralAltContext, StringLiteralAltContext, BooleanTrueLiteralAltContext, BooleanFalseLiteralAltContext, TemporalLiteralAltContext, NullLiteralAltContext, EnumLiteralAltContext, EnumLiteralContext, QualifiedNameContext, DateLiteralContext, TimestampLiteralContext, TimeLiteralContext, TodayLiteralContext, YesterdayLiteralContext, TomorrowLiteralContext, ArgumentListContext, ArgumentContext, IteratorArgumentContext } from './IdemParser.js';
/**
 * This interface defines a complete generic visitor for a parse tree produced
 * by `IdemParser`.
 *
 * @param <Result> The return type of the visit operation. Use `void` for
 * operations with no return type.
 */
export declare class IdemVisitor<Result> extends AbstractParseTreeVisitor<Result> {
    /**
     * Visit a parse tree produced by `IdemParser.parse`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitParse?: (ctx: ParseContext) => Result;
    /**
     * Visit a parse tree produced by the `selfExpression`
     * labeled alternative in `IdemParser.expression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitSelfExpression?: (ctx: SelfExpressionContext) => Result;
    /**
     * Visit a parse tree produced by the `unaryMinusExpression`
     * labeled alternative in `IdemParser.expression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitUnaryMinusExpression?: (ctx: UnaryMinusExpressionContext) => Result;
    /**
     * Visit a parse tree produced by the `notExpression`
     * labeled alternative in `IdemParser.expression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitNotExpression?: (ctx: NotExpressionContext) => Result;
    /**
     * Visit a parse tree produced by the `literalExpression`
     * labeled alternative in `IdemParser.expression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitLiteralExpression?: (ctx: LiteralExpressionContext) => Result;
    /**
     * Visit a parse tree produced by the `identifierExpression`
     * labeled alternative in `IdemParser.expression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitIdentifierExpression?: (ctx: IdentifierExpressionContext) => Result;
    /**
     * Visit a parse tree produced by the `parenthesesExpression`
     * labeled alternative in `IdemParser.expression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitParenthesesExpression?: (ctx: ParenthesesExpressionContext) => Result;
    /**
     * Visit a parse tree produced by the `powerExpression`
     * labeled alternative in `IdemParser.expression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitPowerExpression?: (ctx: PowerExpressionContext) => Result;
    /**
     * Visit a parse tree produced by the `multiplyDivideModExpression`
     * labeled alternative in `IdemParser.expression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitMultiplyDivideModExpression?: (ctx: MultiplyDivideModExpressionContext) => Result;
    /**
     * Visit a parse tree produced by the `addSubtractExpression`
     * labeled alternative in `IdemParser.expression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitAddSubtractExpression?: (ctx: AddSubtractExpressionContext) => Result;
    /**
     * Visit a parse tree produced by the `comparisonExpression`
     * labeled alternative in `IdemParser.expression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitComparisonExpression?: (ctx: ComparisonExpressionContext) => Result;
    /**
     * Visit a parse tree produced by the `inExpression`
     * labeled alternative in `IdemParser.expression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitInExpression?: (ctx: InExpressionContext) => Result;
    /**
     * Visit a parse tree produced by the `equalityExpression`
     * labeled alternative in `IdemParser.expression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitEqualityExpression?: (ctx: EqualityExpressionContext) => Result;
    /**
     * Visit a parse tree produced by the `andExpression`
     * labeled alternative in `IdemParser.expression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitAndExpression?: (ctx: AndExpressionContext) => Result;
    /**
     * Visit a parse tree produced by the `xorExpression`
     * labeled alternative in `IdemParser.expression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitXorExpression?: (ctx: XorExpressionContext) => Result;
    /**
     * Visit a parse tree produced by the `orExpression`
     * labeled alternative in `IdemParser.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 `IdemParser.expression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitImpliesExpression?: (ctx: ImpliesExpressionContext) => Result;
    /**
     * Visit a parse tree produced by the `ternaryExpression`
     * labeled alternative in `IdemParser.expression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTernaryExpression?: (ctx: TernaryExpressionContext) => Result;
    /**
     * Visit a parse tree produced by the `functionCallExpression`
     * labeled alternative in `IdemParser.expression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitFunctionCallExpression?: (ctx: FunctionCallExpressionContext) => Result;
    /**
     * Visit a parse tree produced by the `navigationExpression`
     * labeled alternative in `IdemParser.expression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitNavigationExpression?: (ctx: NavigationExpressionContext) => Result;
    /**
     * Visit a parse tree produced by the `indexAccessExpression`
     * labeled alternative in `IdemParser.expression`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitIndexAccessExpression?: (ctx: IndexAccessExpressionContext) => Result;
    /**
     * Visit a parse tree produced by the `numericLiteralAlt`
     * labeled alternative in `IdemParser.literal`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitNumericLiteralAlt?: (ctx: NumericLiteralAltContext) => Result;
    /**
     * Visit a parse tree produced by the `stringLiteralAlt`
     * labeled alternative in `IdemParser.literal`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitStringLiteralAlt?: (ctx: StringLiteralAltContext) => Result;
    /**
     * Visit a parse tree produced by the `booleanTrueLiteralAlt`
     * labeled alternative in `IdemParser.literal`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitBooleanTrueLiteralAlt?: (ctx: BooleanTrueLiteralAltContext) => Result;
    /**
     * Visit a parse tree produced by the `booleanFalseLiteralAlt`
     * labeled alternative in `IdemParser.literal`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitBooleanFalseLiteralAlt?: (ctx: BooleanFalseLiteralAltContext) => Result;
    /**
     * Visit a parse tree produced by the `temporalLiteralAlt`
     * labeled alternative in `IdemParser.literal`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTemporalLiteralAlt?: (ctx: TemporalLiteralAltContext) => Result;
    /**
     * Visit a parse tree produced by the `nullLiteralAlt`
     * labeled alternative in `IdemParser.literal`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitNullLiteralAlt?: (ctx: NullLiteralAltContext) => Result;
    /**
     * Visit a parse tree produced by the `enumLiteralAlt`
     * labeled alternative in `IdemParser.literal`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitEnumLiteralAlt?: (ctx: EnumLiteralAltContext) => Result;
    /**
     * Visit a parse tree produced by `IdemParser.enumLiteral`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitEnumLiteral?: (ctx: EnumLiteralContext) => Result;
    /**
     * Visit a parse tree produced by `IdemParser.qualifiedName`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitQualifiedName?: (ctx: QualifiedNameContext) => Result;
    /**
     * Visit a parse tree produced by the `dateLiteral`
     * labeled alternative in `IdemParser.temporalLiteral`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitDateLiteral?: (ctx: DateLiteralContext) => Result;
    /**
     * Visit a parse tree produced by the `timestampLiteral`
     * labeled alternative in `IdemParser.temporalLiteral`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTimestampLiteral?: (ctx: TimestampLiteralContext) => Result;
    /**
     * Visit a parse tree produced by the `timeLiteral`
     * labeled alternative in `IdemParser.temporalLiteral`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTimeLiteral?: (ctx: TimeLiteralContext) => Result;
    /**
     * Visit a parse tree produced by the `todayLiteral`
     * labeled alternative in `IdemParser.temporalLiteral`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTodayLiteral?: (ctx: TodayLiteralContext) => Result;
    /**
     * Visit a parse tree produced by the `yesterdayLiteral`
     * labeled alternative in `IdemParser.temporalLiteral`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitYesterdayLiteral?: (ctx: YesterdayLiteralContext) => Result;
    /**
     * Visit a parse tree produced by the `tomorrowLiteral`
     * labeled alternative in `IdemParser.temporalLiteral`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitTomorrowLiteral?: (ctx: TomorrowLiteralContext) => Result;
    /**
     * Visit a parse tree produced by `IdemParser.argumentList`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitArgumentList?: (ctx: ArgumentListContext) => Result;
    /**
     * Visit a parse tree produced by `IdemParser.argument`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitArgument?: (ctx: ArgumentContext) => Result;
    /**
     * Visit a parse tree produced by `IdemParser.iteratorArgument`.
     * @param ctx the parse tree
     * @return the visitor result
     */
    visitIteratorArgument?: (ctx: IteratorArgumentContext) => Result;
}
