import { ErrorSeverity, ErrorType, SourceErrorWithNode, type SourceError } from '../errors/base'; import type { Node, NodeWithInferredType, Type } from '../types'; import type * as tsEs from './tsESTree'; export declare class SourceTypeError extends SourceErrorWithNode> { readonly errMsg: string; type: ErrorType; severity: ErrorSeverity; constructor(node: NodeWithInferredType, errMsg: string); explain(): string; elaborate(): string; } /** * Temporary error that will eventually be converted to TypeError as some errors are only thrown * where there is no handle to the node */ export declare class InternalTypeError extends Error { readonly errMsg: string; constructor(errMsg: string); } export declare class UnifyError extends InternalTypeError { readonly LHS: Type; readonly RHS: Type; constructor(LHS: Type, RHS: Type); } export declare class InternalDifferentNumberArgumentsError extends InternalTypeError { readonly numExpectedArgs: number; readonly numReceived: number; constructor(numExpectedArgs: number, numReceived: number); } export declare class InternalCyclicReferenceError extends InternalTypeError { readonly symbol: string; constructor(symbol: string); } export declare class TypecheckError implements SourceError { node: tsEs.Node | tsEs.TSType; message: string; type: ErrorType; severity: ErrorSeverity; constructor(node: tsEs.Node | tsEs.TSType, message: string); get location(): import("estree").SourceLocation; explain(): string; elaborate(): string; }