import ts from "typescript";
import { type PartialDiagnostic, BaseError } from "./BaseError.js";
import type { BaseType } from "../Type/BaseType.js";
import type { JSONSchema7 } from "json-schema";
export declare class UnknownNodeError extends BaseError {
    readonly node: ts.Node;
    constructor(node: ts.Node);
}
export declare class UnknownTypeError extends BaseError {
    readonly type: BaseType;
    constructor(type: BaseType);
}
export declare class RootlessError extends BaseError {
    readonly fullName: string;
    constructor(fullName: string);
}
export declare class MultipleDefinitionsError extends BaseError {
    readonly name: string;
    readonly defA: BaseType;
    readonly defB?: BaseType | undefined;
    constructor(name: string, defA: BaseType, defB?: BaseType | undefined);
}
export declare class LogicError extends BaseError {
    readonly node: ts.Node;
    constructor(node: ts.Node, messageText: string);
}
export declare class ExpectationFailedError extends BaseError {
    readonly node?: ts.Node | undefined;
    constructor(messageText: string, node?: ts.Node | undefined);
}
export declare class JsonTypeError extends BaseError {
    readonly type: BaseType;
    constructor(messageText: string, type: BaseType);
}
export declare class DefinitionError extends BaseError {
    readonly definition: JSONSchema7;
    constructor(messageText: string, definition: JSONSchema7);
}
export declare class BuildError extends BaseError {
    constructor(diag: Omit<PartialDiagnostic, "code">);
}
