import { ATN, DFA, FailedPredicateException, Parser, ParserRuleContext, RuleContext, TerminalNode, TokenStream } from '@browsery/antlr4';
import type OpraFilterListener from './OpraFilterListener.js';
import type OpraFilterVisitor from './OpraFilterVisitor.js';
export default class OpraFilterParser extends Parser {
    static readonly T__0 = 1;
    static readonly T__1 = 2;
    static readonly T__2 = 3;
    static readonly T__3 = 4;
    static readonly T__4 = 5;
    static readonly T__5 = 6;
    static readonly T__6 = 7;
    static readonly T__7 = 8;
    static readonly T__8 = 9;
    static readonly T__9 = 10;
    static readonly T__10 = 11;
    static readonly T__11 = 12;
    static readonly T__12 = 13;
    static readonly T__13 = 14;
    static readonly T__14 = 15;
    static readonly T__15 = 16;
    static readonly T__16 = 17;
    static readonly T__17 = 18;
    static readonly T__18 = 19;
    static readonly T__19 = 20;
    static readonly T__20 = 21;
    static readonly T__21 = 22;
    static readonly T__22 = 23;
    static readonly T__23 = 24;
    static readonly T__24 = 25;
    static readonly T__25 = 26;
    static readonly T__26 = 27;
    static readonly T__27 = 28;
    static readonly T__28 = 29;
    static readonly T__29 = 30;
    static readonly T__30 = 31;
    static readonly T__31 = 32;
    static readonly T__32 = 33;
    static readonly T__33 = 34;
    static readonly IDENTIFIER = 35;
    static readonly POLAR_OP = 36;
    static readonly DATE = 37;
    static readonly DATETIME = 38;
    static readonly TIME = 39;
    static readonly NUMBER = 40;
    static readonly INTEGER = 41;
    static readonly STRING = 42;
    static readonly WHITESPACE = 43;
    static readonly EOF: number;
    static readonly RULE_root = 0;
    static readonly RULE_expression = 1;
    static readonly RULE_comparisonLeft = 2;
    static readonly RULE_comparisonRight = 3;
    static readonly RULE_parenthesizedItem = 4;
    static readonly RULE_value = 5;
    static readonly RULE_qualifiedIdentifier = 6;
    static readonly RULE_externalConstant = 7;
    static readonly RULE_identifier = 8;
    static readonly RULE_arrayValue = 9;
    static readonly RULE_boolean = 10;
    static readonly RULE_null = 11;
    static readonly RULE_infinity = 12;
    static readonly RULE_arithmeticOperator = 13;
    static readonly RULE_comparisonOperator = 14;
    static readonly RULE_logicalOperator = 15;
    static readonly RULE_polarityOperator = 16;
    static readonly literalNames: (string | null)[];
    static readonly symbolicNames: (string | null)[];
    static readonly ruleNames: string[];
    get grammarFileName(): string;
    get literalNames(): (string | null)[];
    get symbolicNames(): (string | null)[];
    get ruleNames(): string[];
    get serializedATN(): number[];
    protected createFailedPredicateException(predicate?: string, message?: string): FailedPredicateException;
    constructor(input: TokenStream);
    root(): RootContext;
    expression(): ExpressionContext;
    expression(_p: number): ExpressionContext;
    comparisonLeft(): ComparisonLeftContext;
    comparisonRight(): ComparisonRightContext;
    parenthesizedItem(): ParenthesizedItemContext;
    value(): ValueContext;
    qualifiedIdentifier(): QualifiedIdentifierContext;
    externalConstant(): ExternalConstantContext;
    identifier(): IdentifierContext;
    arrayValue(): ArrayValueContext;
    boolean_(): BooleanContext;
    null_(): NullContext;
    infinity(): InfinityContext;
    arithmeticOperator(): ArithmeticOperatorContext;
    comparisonOperator(): ComparisonOperatorContext;
    logicalOperator(): LogicalOperatorContext;
    polarityOperator(): PolarityOperatorContext;
    sempred(localctx: RuleContext, ruleIndex: number, predIndex: number): boolean;
    private expression_sempred;
    static readonly _serializedATN: number[];
    private static __ATN;
    static get _ATN(): ATN;
    static DecisionsToDFA: DFA[];
}
export declare class RootContext extends ParserRuleContext {
    constructor(parser?: OpraFilterParser, parent?: ParserRuleContext, invokingState?: number);
    expression(): ExpressionContext;
    EOF(): TerminalNode;
    get ruleIndex(): number;
    enterRule(listener: OpraFilterListener): void;
    exitRule(listener: OpraFilterListener): void;
    accept<Result>(visitor: OpraFilterVisitor<Result>): Result;
}
export declare class ExpressionContext extends ParserRuleContext {
    constructor(parser?: OpraFilterParser, parent?: ParserRuleContext, invokingState?: number);
    get ruleIndex(): number;
    copyFrom(ctx: ExpressionContext): void;
}
export declare class ParenthesizedExpressionContext extends ExpressionContext {
    constructor(parser: OpraFilterParser, ctx: ExpressionContext);
    parenthesizedItem(): ParenthesizedItemContext;
    enterRule(listener: OpraFilterListener): void;
    exitRule(listener: OpraFilterListener): void;
    accept<Result>(visitor: OpraFilterVisitor<Result>): Result;
}
export declare class NegativeExpressionContext extends ExpressionContext {
    constructor(parser: OpraFilterParser, ctx: ExpressionContext);
    expression(): ExpressionContext;
    enterRule(listener: OpraFilterListener): void;
    exitRule(listener: OpraFilterListener): void;
    accept<Result>(visitor: OpraFilterVisitor<Result>): Result;
}
export declare class ComparisonExpressionContext extends ExpressionContext {
    _left: ComparisonLeftContext;
    _operator: ComparisonOperatorContext;
    _right: ComparisonRightContext;
    constructor(parser: OpraFilterParser, ctx: ExpressionContext);
    comparisonLeft(): ComparisonLeftContext;
    comparisonOperator(): ComparisonOperatorContext;
    comparisonRight(): ComparisonRightContext;
    enterRule(listener: OpraFilterListener): void;
    exitRule(listener: OpraFilterListener): void;
    accept<Result>(visitor: OpraFilterVisitor<Result>): Result;
}
export declare class LogicalExpressionContext extends ExpressionContext {
    _op: LogicalOperatorContext;
    constructor(parser: OpraFilterParser, ctx: ExpressionContext);
    expression_list(): ExpressionContext[];
    expression(i: number): ExpressionContext;
    logicalOperator(): LogicalOperatorContext;
    enterRule(listener: OpraFilterListener): void;
    exitRule(listener: OpraFilterListener): void;
    accept<Result>(visitor: OpraFilterVisitor<Result>): Result;
}
export declare class ComparisonLeftContext extends ParserRuleContext {
    constructor(parser?: OpraFilterParser, parent?: ParserRuleContext, invokingState?: number);
    qualifiedIdentifier(): QualifiedIdentifierContext;
    get ruleIndex(): number;
    enterRule(listener: OpraFilterListener): void;
    exitRule(listener: OpraFilterListener): void;
    accept<Result>(visitor: OpraFilterVisitor<Result>): Result;
}
export declare class ComparisonRightContext extends ParserRuleContext {
    constructor(parser?: OpraFilterParser, parent?: ParserRuleContext, invokingState?: number);
    value(): ValueContext;
    qualifiedIdentifier(): QualifiedIdentifierContext;
    externalConstant(): ExternalConstantContext;
    arrayValue(): ArrayValueContext;
    get ruleIndex(): number;
    enterRule(listener: OpraFilterListener): void;
    exitRule(listener: OpraFilterListener): void;
    accept<Result>(visitor: OpraFilterVisitor<Result>): Result;
}
export declare class ParenthesizedItemContext extends ParserRuleContext {
    constructor(parser?: OpraFilterParser, parent?: ParserRuleContext, invokingState?: number);
    expression(): ExpressionContext;
    get ruleIndex(): number;
    enterRule(listener: OpraFilterListener): void;
    exitRule(listener: OpraFilterListener): void;
    accept<Result>(visitor: OpraFilterVisitor<Result>): Result;
}
export declare class ValueContext extends ParserRuleContext {
    constructor(parser?: OpraFilterParser, parent?: ParserRuleContext, invokingState?: number);
    get ruleIndex(): number;
    copyFrom(ctx: ValueContext): void;
}
export declare class TimeLiteralContext extends ValueContext {
    constructor(parser: OpraFilterParser, ctx: ValueContext);
    TIME(): TerminalNode;
    enterRule(listener: OpraFilterListener): void;
    exitRule(listener: OpraFilterListener): void;
    accept<Result>(visitor: OpraFilterVisitor<Result>): Result;
}
export declare class NullLiteralContext extends ValueContext {
    constructor(parser: OpraFilterParser, ctx: ValueContext);
    null_(): NullContext;
    enterRule(listener: OpraFilterListener): void;
    exitRule(listener: OpraFilterListener): void;
    accept<Result>(visitor: OpraFilterVisitor<Result>): Result;
}
export declare class DateTimeLiteralContext extends ValueContext {
    constructor(parser: OpraFilterParser, ctx: ValueContext);
    DATETIME(): TerminalNode;
    enterRule(listener: OpraFilterListener): void;
    exitRule(listener: OpraFilterListener): void;
    accept<Result>(visitor: OpraFilterVisitor<Result>): Result;
}
export declare class StringLiteralContext extends ValueContext {
    constructor(parser: OpraFilterParser, ctx: ValueContext);
    STRING(): TerminalNode;
    enterRule(listener: OpraFilterListener): void;
    exitRule(listener: OpraFilterListener): void;
    accept<Result>(visitor: OpraFilterVisitor<Result>): Result;
}
export declare class DateLiteralContext extends ValueContext {
    constructor(parser: OpraFilterParser, ctx: ValueContext);
    DATE(): TerminalNode;
    enterRule(listener: OpraFilterListener): void;
    exitRule(listener: OpraFilterListener): void;
    accept<Result>(visitor: OpraFilterVisitor<Result>): Result;
}
export declare class InfinityLiteralContext extends ValueContext {
    constructor(parser: OpraFilterParser, ctx: ValueContext);
    infinity(): InfinityContext;
    enterRule(listener: OpraFilterListener): void;
    exitRule(listener: OpraFilterListener): void;
    accept<Result>(visitor: OpraFilterVisitor<Result>): Result;
}
export declare class BooleanLiteralContext extends ValueContext {
    constructor(parser: OpraFilterParser, ctx: ValueContext);
    boolean_(): BooleanContext;
    enterRule(listener: OpraFilterListener): void;
    exitRule(listener: OpraFilterListener): void;
    accept<Result>(visitor: OpraFilterVisitor<Result>): Result;
}
export declare class NumberLiteralContext extends ValueContext {
    constructor(parser: OpraFilterParser, ctx: ValueContext);
    NUMBER(): TerminalNode;
    enterRule(listener: OpraFilterListener): void;
    exitRule(listener: OpraFilterListener): void;
    accept<Result>(visitor: OpraFilterVisitor<Result>): Result;
}
export declare class QualifiedIdentifierContext extends ParserRuleContext {
    constructor(parser?: OpraFilterParser, parent?: ParserRuleContext, invokingState?: number);
    identifier_list(): IdentifierContext[];
    identifier(i: number): IdentifierContext;
    get ruleIndex(): number;
    enterRule(listener: OpraFilterListener): void;
    exitRule(listener: OpraFilterListener): void;
    accept<Result>(visitor: OpraFilterVisitor<Result>): Result;
}
export declare class ExternalConstantContext extends ParserRuleContext {
    constructor(parser?: OpraFilterParser, parent?: ParserRuleContext, invokingState?: number);
    identifier(): IdentifierContext;
    get ruleIndex(): number;
    enterRule(listener: OpraFilterListener): void;
    exitRule(listener: OpraFilterListener): void;
    accept<Result>(visitor: OpraFilterVisitor<Result>): Result;
}
export declare class IdentifierContext extends ParserRuleContext {
    constructor(parser?: OpraFilterParser, parent?: ParserRuleContext, invokingState?: number);
    IDENTIFIER(): TerminalNode;
    get ruleIndex(): number;
    enterRule(listener: OpraFilterListener): void;
    exitRule(listener: OpraFilterListener): void;
    accept<Result>(visitor: OpraFilterVisitor<Result>): Result;
}
export declare class ArrayValueContext extends ParserRuleContext {
    constructor(parser?: OpraFilterParser, parent?: ParserRuleContext, invokingState?: number);
    value_list(): ValueContext[];
    value(i: number): ValueContext;
    get ruleIndex(): number;
    enterRule(listener: OpraFilterListener): void;
    exitRule(listener: OpraFilterListener): void;
    accept<Result>(visitor: OpraFilterVisitor<Result>): Result;
}
export declare class BooleanContext extends ParserRuleContext {
    constructor(parser?: OpraFilterParser, parent?: ParserRuleContext, invokingState?: number);
    get ruleIndex(): number;
    enterRule(listener: OpraFilterListener): void;
    exitRule(listener: OpraFilterListener): void;
    accept<Result>(visitor: OpraFilterVisitor<Result>): Result;
}
export declare class NullContext extends ParserRuleContext {
    constructor(parser?: OpraFilterParser, parent?: ParserRuleContext, invokingState?: number);
    get ruleIndex(): number;
    enterRule(listener: OpraFilterListener): void;
    exitRule(listener: OpraFilterListener): void;
    accept<Result>(visitor: OpraFilterVisitor<Result>): Result;
}
export declare class InfinityContext extends ParserRuleContext {
    constructor(parser?: OpraFilterParser, parent?: ParserRuleContext, invokingState?: number);
    get ruleIndex(): number;
    enterRule(listener: OpraFilterListener): void;
    exitRule(listener: OpraFilterListener): void;
    accept<Result>(visitor: OpraFilterVisitor<Result>): Result;
}
export declare class ArithmeticOperatorContext extends ParserRuleContext {
    constructor(parser?: OpraFilterParser, parent?: ParserRuleContext, invokingState?: number);
    get ruleIndex(): number;
    enterRule(listener: OpraFilterListener): void;
    exitRule(listener: OpraFilterListener): void;
    accept<Result>(visitor: OpraFilterVisitor<Result>): Result;
}
export declare class ComparisonOperatorContext extends ParserRuleContext {
    constructor(parser?: OpraFilterParser, parent?: ParserRuleContext, invokingState?: number);
    get ruleIndex(): number;
    enterRule(listener: OpraFilterListener): void;
    exitRule(listener: OpraFilterListener): void;
    accept<Result>(visitor: OpraFilterVisitor<Result>): Result;
}
export declare class LogicalOperatorContext extends ParserRuleContext {
    constructor(parser?: OpraFilterParser, parent?: ParserRuleContext, invokingState?: number);
    get ruleIndex(): number;
    enterRule(listener: OpraFilterListener): void;
    exitRule(listener: OpraFilterListener): void;
    accept<Result>(visitor: OpraFilterVisitor<Result>): Result;
}
export declare class PolarityOperatorContext extends ParserRuleContext {
    constructor(parser?: OpraFilterParser, parent?: ParserRuleContext, invokingState?: number);
    POLAR_OP(): TerminalNode;
    get ruleIndex(): number;
    enterRule(listener: OpraFilterListener): void;
    exitRule(listener: OpraFilterListener): void;
    accept<Result>(visitor: OpraFilterVisitor<Result>): Result;
}
