import { ParseTreeVisitor, type RuleNode } from '@browsery/antlr4';
import { ArrayValueContext, BooleanLiteralContext, ComparisonExpressionContext, DateLiteralContext, DateTimeLiteralContext, ExternalConstantContext, LogicalExpressionContext, NegativeExpressionContext, NumberLiteralContext, ParenthesizedExpressionContext, ParenthesizedItemContext, QualifiedIdentifierContext, RootContext, StringLiteralContext, TimeLiteralContext } from './antlr/OpraFilterParser.js';
import OpraFilterVisitor from './antlr/OpraFilterVisitor.js';
import { ArrayExpression, BooleanLiteral, DateLiteral, DateTimeLiteral, LogicalExpression, NegativeExpression, NullLiteral, NumberLiteral, ParenthesizedExpression, QualifiedIdentifier, StringLiteral, TimeLiteral } from './ast/index.js';
import { ExternalConstant } from './ast/terms/external-constant.js';
export declare class FilterTreeVisitor extends ParseTreeVisitor<any> implements OpraFilterVisitor<any> {
    private _timeZone?;
    constructor(options?: {
        timeZone?: string;
    });
    visitChildren(node: RuleNode): any;
    protected defaultResult(): any;
    visitRoot(ctx: RootContext): any;
    visitParenthesizedExpression(ctx: ParenthesizedExpressionContext): ParenthesizedExpression;
    visitParenthesizedItem(ctx: ParenthesizedItemContext): any;
    visitNegativeExpression(ctx: NegativeExpressionContext): NegativeExpression;
    visitComparisonExpression(ctx: ComparisonExpressionContext): any;
    visitLogicalExpression(ctx: LogicalExpressionContext): LogicalExpression;
    visitQualifiedIdentifier(ctx: QualifiedIdentifierContext): QualifiedIdentifier;
    visitExternalConstant(ctx: ExternalConstantContext): ExternalConstant;
    visitNullLiteral(): NullLiteral;
    visitBooleanLiteral(ctx: BooleanLiteralContext): BooleanLiteral;
    visitNumberLiteral(ctx: NumberLiteralContext): NumberLiteral;
    visitStringLiteral(ctx: StringLiteralContext): StringLiteral;
    visitInfinityLiteral(): NumberLiteral;
    visitDateLiteral(ctx: DateLiteralContext): DateLiteral;
    visitDateTimeLiteral(ctx: DateTimeLiteralContext): DateTimeLiteral;
    visitTimeLiteral(ctx: TimeLiteralContext): TimeLiteral;
    visitArrayValue(ctx: ArrayValueContext): ArrayExpression;
}
