export declare enum MathErrorCode {
    MultiplicationOverflow = "MultiplicationOverflow",
    MulDivOverflow = "MulDivOverflow",
    MultiplicationShiftRightOverflow = "MultiplicationShiftRightOverflow",
    DivideByZero = "DivideByZero"
}
export declare enum TokenErrorCode {
    TokenMaxExceeded = "TokenMaxExceeded",
    TokenMinSubceeded = "TokenMinSubceeded"
}
export declare enum SwapErrorCode {
    InvalidDevFeePercentage = "InvalidDevFeePercentage",
    InvalidSqrtPriceLimitDirection = "InvalidSqrtPriceLimitDirection",
    SqrtPriceOutOfBounds = "SqrtPriceOutOfBounds",
    ZeroTradableAmount = "ZeroTradableAmount",
    AmountOutBelowMinimum = "AmountOutBelowMinimum",
    AmountInAboveMaximum = "AmountInAboveMaximum",
    TickArrayCrossingAboveMax = "TickArrayCrossingAboveMax",
    TickArrayIndexNotInitialized = "TickArrayIndexNotInitialized",
    TickArraySequenceInvalid = "TickArraySequenceInvalid"
}
export declare type WhirlpoolsErrorCode = TokenErrorCode | SwapErrorCode | MathErrorCode;
export declare class WhirlpoolsError extends Error {
    message: string;
    errorCode?: WhirlpoolsErrorCode;
    constructor(message: string, errorCode?: WhirlpoolsErrorCode);
    static isWhirlpoolsErrorCode(e: any, code: WhirlpoolsErrorCode): boolean;
}
