import { ParserRuleContext } from "antlr4"; import { ExprType } from "../type/ExprType.js"; export declare class TypeManager { private readonly types; constructor(); setType(parserRuleContext: ParserRuleContext, type: ExprType): void; getType(parserRuleContext: ParserRuleContext): ExprType; copyTypeFrom(ctx: ParserRuleContext, from: ParserRuleContext): void; requireString(ctx: ParserRuleContext): void; requireBoolean(ctx: ParserRuleContext): void; requireLogicalOrBoolean(ctx: ParserRuleContext): void; requireOneOf(ctx: ParserRuleContext, ...types: Array): void; requireNumeric(ctx: ParserRuleContext): void; requireTypesOverlap(ctxA: ParserRuleContext, ctxB: ParserRuleContext): void; isType(type: ExprType, ...ctxs: any[]): boolean; overlapsWith(type: ExprType, ...ctxs: any[]): boolean; isString(...ctxs: any[]): boolean; overlapsWithString(...ctxs: any[]): boolean; isBoolean(...ctxs: any[]): boolean; isLogical(...ctxs: any[]): boolean; overlapsWithBoolean(...ctxs: any[]): boolean; overlapsWithLogical(...ctxs: any[]): boolean; isNumeric(...ctxs: any[]): boolean; overlapsWithNumeric(...ctxs: any[]): boolean; }