import type { IcpLedgerDid } from "../../../declarations";
import type { BlockHeight } from "../types/common";
export declare class IcrcError extends Error {
}
export declare class TransferError extends IcrcError {
}
export declare class ApproveError extends IcrcError {
}
export declare class ConsentMessageError extends IcrcError {
}
export declare class InvalidSenderError extends TransferError {
}
export declare class InvalidAccountIDError extends Error {
}
export declare class InsufficientFundsError extends TransferError {
    readonly balance: bigint;
    constructor(balance: bigint);
}
export declare class TxTooOldError extends TransferError {
    readonly allowed_window_secs?: number | undefined;
    constructor(allowed_window_secs?: number | undefined);
}
export declare class TxCreatedInFutureError extends TransferError {
}
export declare class TxDuplicateError extends TransferError {
    readonly duplicateOf: BlockHeight;
    constructor(duplicateOf: BlockHeight);
}
export declare class BadFeeError extends IcrcError {
    readonly expectedFee: bigint;
    constructor(expectedFee: bigint);
}
export declare class GenericError extends ApproveError {
    readonly message: string;
    readonly error_code: bigint;
    constructor(message: string, error_code: bigint);
}
export declare class TemporarilyUnavailableError extends ApproveError {
}
export declare class DuplicateError extends ApproveError {
    readonly duplicateOf: IcpLedgerDid.Icrc1BlockIndex;
    constructor(duplicateOf: IcpLedgerDid.Icrc1BlockIndex);
}
export declare class AllowanceChangedError extends ApproveError {
    readonly currentAllowance: IcpLedgerDid.Icrc1Tokens;
    constructor(currentAllowance: IcpLedgerDid.Icrc1Tokens);
}
export declare class CreatedInFutureError extends ApproveError {
}
export declare class TooOldError extends ApproveError {
}
export declare class ExpiredError extends ApproveError {
    readonly ledgerTime: bigint;
    constructor(ledgerTime: bigint);
}
export declare class InsufficientPaymentError extends ConsentMessageError {
}
export declare class UnsupportedCanisterCallError extends ConsentMessageError {
}
export declare class ConsentMessageUnavailableError extends ConsentMessageError {
}
export declare const mapTransferError: (rawTransferError: IcpLedgerDid.TransferError) => TransferError;
export declare const mapIcrc1TransferError: (rawTransferError: IcpLedgerDid.Icrc1TransferError) => TransferError;
export declare const mapIcrc2ApproveError: (rawApproveError: IcpLedgerDid.ApproveError) => ApproveError;
export declare const mapIcrc21ConsentMessageError: (rawError: IcpLedgerDid.icrc21_error) => ConsentMessageError;
