declare const ValidationErrorTypes: {
    readonly ValidationError: "ValidationError";
    readonly NaNValidationError: "NaNValidationError";
    readonly MinValidationError: "MinValidationError";
    readonly MaxValidationError: "MaxValidationError";
    readonly MinMaxValidationError: "MinMaxValidationError";
};
declare const ErrorTypes: {
    readonly ApiError: "ApiError";
    readonly InvalidParameterError: "InvalidParameterError";
    readonly PollingExpiredError: "PollingExpiredError";
    readonly PollingCancelledError: "PollingCancelledError";
    readonly ExpiredTokenError: "ExpiredTokenError";
    readonly RateLimitError: "RateLimitError";
    readonly InvalidCsrfError: "InvalidCsrfError";
    readonly ValidationError: "ValidationError";
    readonly NaNValidationError: "NaNValidationError";
    readonly MinValidationError: "MinValidationError";
    readonly MaxValidationError: "MaxValidationError";
    readonly MinMaxValidationError: "MinMaxValidationError";
};
declare class ApiError<R extends Response = Response> extends Error {
    /**
     * Inner error that this error wraps.
     */
    readonly error?: Error | R;
    constructor(message: string, error?: Error | R);
}
declare class ValidationError extends Error {
    constructor(message?: string);
}
declare class NaNValidationError extends ValidationError {
    readonly type: "NaNValidationError";
    constructor(value: string | number, name?: string);
}
declare class MinValidationError extends ValidationError {
    readonly type: "MinValidationError";
    constructor({ value, min, name }: {
        value: string | number;
        min: number;
        name?: string;
    });
}
declare class MaxValidationError extends ValidationError {
    readonly type: "MaxValidationError";
    constructor({ value, max, name }: {
        value: string | number;
        max: number;
        name?: string;
    });
}
declare class MinMaxValidationError extends ValidationError {
    readonly type: "MinMaxValidationError";
    constructor({ value, min, max, name }: {
        value: string | number;
        min: number;
        max: number;
        name?: string;
    });
}
declare class InvalidParameterError extends Error {
    constructor(message?: string);
}
declare class PollingExpiredError extends Error {
    constructor(message?: string);
}
declare class PollingCancelledError extends Error {
    constructor(message?: string);
}
declare class ExpiredTokenError<R extends Response = Response> extends ApiError<R> {
    constructor(message?: string, error?: Error | R);
}
declare class RateLimitError<R extends Response = Response> extends ApiError<R> {
    constructor(message?: string, error?: Error | R);
}
declare class InvalidCsrfError extends Error {
    readonly state?: string;
    readonly expected?: string;
    constructor({ state, expected }?: {
        state?: string;
        expected?: string;
    });
}

export { ApiError, ErrorTypes, ExpiredTokenError, InvalidCsrfError, InvalidParameterError, MaxValidationError, MinMaxValidationError, MinValidationError, NaNValidationError, PollingCancelledError, PollingExpiredError, RateLimitError, ValidationError, ValidationErrorTypes };
