import { CrochetPartial, CrochetRecord, CrochetType, CrochetValue, Procedure } from "../../primitives"; export declare abstract class MachineError { abstract format(): string; format_verbose(): string; } export declare class ErrUndefinedVariable extends MachineError { readonly name: string; constructor(name: string); format(): string; } export declare class ErrVariableAlreadyBound extends MachineError { readonly name: string; constructor(name: string); format(): string; } export declare class ErrNoBranchMatched extends MachineError { readonly procedure: Procedure; readonly args: CrochetValue[]; constructor(procedure: Procedure, args: CrochetValue[]); format(): string; } export declare class ErrNoConversionAvailable extends MachineError { readonly type: CrochetType; readonly value: CrochetValue; constructor(type: CrochetType, value: CrochetValue); format(): string; } export declare class ErrNoRecordKey extends MachineError { readonly record: CrochetRecord; readonly key: string; constructor(record: CrochetRecord, key: string); format(): string; } export declare class ErrIndexOutOfRange extends MachineError { readonly value: CrochetValue; readonly index: any; constructor(value: CrochetValue, index: any); format(): string; } export declare class ErrUnexpectedType extends MachineError { readonly type: CrochetType; readonly value: CrochetValue; constructor(type: CrochetType, value: CrochetValue); format(): string; } export declare class ErrInvalidArity extends MachineError { readonly partial: CrochetPartial; readonly provided: number; constructor(partial: CrochetPartial, provided: number); format(): string; } export declare class ErrNoProjection extends MachineError { readonly value: CrochetValue; constructor(value: CrochetValue); format(): string; } export declare class ErrNoSelection extends MachineError { readonly value: CrochetValue; constructor(value: CrochetValue); format(): string; } export declare class ErrNativeError extends MachineError { readonly error: Error; constructor(error: Error); format(): string; format_verbose(): string; } export declare class ErrArbitrary extends MachineError { readonly name: string; readonly message: string; constructor(name: string, message: string); format(): string; }