import { JqlChangedPredicateContext, JqlDatePredicateOperatorContext, JqlDateRangePredicateOperatorContext, JqlPredicateOperandContext, JqlUserPredicateOperatorContext, JqlValuePredicateOperatorContext, JqlWasPredicateContext } from '@atlassianlabs/jql-parser'; import { Operand, Predicate, PredicateOperator } from '../types'; import { JastBuildingVisitor } from './common'; import { OperandVisitor } from './operand'; type PredicateOperatorContext = JqlDatePredicateOperatorContext | JqlDateRangePredicateOperatorContext | JqlUserPredicateOperatorContext | JqlValuePredicateOperatorContext | void; export declare class PredicateVisitor extends JastBuildingVisitor { predicateOperatorVisitor: PredicateOperatorVisitor; predicateOperandVisitor: PredicateOperandVisitor; visitJqlWasPredicate: (ctx: JqlWasPredicateContext) => Predicate; visitJqlChangedPredicate: (ctx: JqlChangedPredicateContext) => Predicate; getOperatorForContexts: (contexts: PredicateOperatorContext[]) => PredicateOperator; } declare class PredicateOperatorVisitor extends JastBuildingVisitor { visitJqlDatePredicateOperator: (ctx: JqlDatePredicateOperatorContext) => PredicateOperator; visitJqlDateRangePredicateOperator: (ctx: JqlDateRangePredicateOperatorContext) => PredicateOperator; visitJqlUserPredicateOperator: (ctx: JqlUserPredicateOperatorContext) => PredicateOperator; visitJqlValuePredicateOperator: (ctx: JqlValuePredicateOperatorContext) => PredicateOperator; getPredicateOperator: (ctx: Exclude) => PredicateOperator; } declare class PredicateOperandVisitor extends JastBuildingVisitor { operandVisitor: OperandVisitor; visitJqlPredicateOperand: (ctx: JqlPredicateOperandContext) => void | Operand; } export {};