export declare enum ErrorCode { Unauthorized = 401, NotFound = 404, TooManyRequests = 429, InternalServerError = 500, JWTInvalidForWrite = 996, NoPermissions = 997, ForceRedirect = 998, JWTValidationFailed = 999, InvalidInput = 1000, OrderError = 1001, ParsingFailure = 1030, VersionMismatch = 1031, CSVReadError = 1066, UserDisabled = 1068, UserLocked = 1069, ReviewOutOfDate = 1107, RealtimeShippingRatesFailure = 1109, URLFetchFailure = 1110, TaxSystemFailure = 1111, XeroFailure = 1112, QuickbooksFailure = 1113, CannotSwitchToPlan = 1116, GatewayCreationError = 1117, StripeAPICallFailure = 1122, GatewayTransactionError = 1123, TaskTypeInProgress = 1127, InvalidFields = 1131, InvalidInputCount = 1132, FailedCooking = 1137, CurrencyConversion = 1143, LimitExceeded = 1146, InvalidOperation = 1150, DownloadLimitExceeded = 1151, TryAgainLater = 1153, ConditionEvalFailure = 1154, RefundFailure = 1155, AdminError = 1156, AnalyticsAPICallFailure = 1157, OAuth2EmailMismatch = 1158 } export declare type InvalidInputProblem = 'bad_password' | 'invalid_date_range' | 'invalid_domain' | 'invalid_email' | 'invalid_enum' | 'invalid_boolean' | 'invalid_factor' | 'invalid_identifier' | 'invalid_integer' | 'invalid_non_empty' | 'invalid_non_negative_float' | 'invalid_non_negative_int64' | 'invalid_non_zero_int64' | 'invalid_percentage' | 'invalid_positive_int64' | 'invalid_rfc3339_date' | 'invalid_timezone' | 'invalid_discount_code' | 'invalid_url' | 'invalid_web_url' | 'mandatory' | 'max_length_exceeded' | 'min_length_not_met' | 'invalid_two_factor_code' | 'invalid_value' | 'max_count_exceeded' | 'invalid_credit_card_number' | 'invalid_option_id' | 'invalid_base64' | 'invalid_start_number' | 'already_exists' | 'duplicate' | 'overlapping_ranges' | 'multiple_default_tax_rates' | 'multiple_default_addresses' | 'invalid_csv_number_of_columns' | 'invalid_csv_header' | 'invalid_integer_range' | 'invalid_phone' | 'invalid_app_domain' | 'invalid_url_id'; export declare type OrderLineItemErrorCode = 'invalid_product_quantity' | 'invalid_product_quantity_multi' | 'out_of_stock' | 'no_inventory' | 'product_banned' | 'promotion_disabled' | 'promotion_no_longer_valid' | 'missing_dependency' | 'mandatory_dependency' | 'invalid_shop_destination' | 'invalid_subscription_index' | 'subscription_already_exists' | 'invalid_subscription_quantity' | 'mandatory_subscription' | 'too_many_subscriptions'; export declare type InvalidOperationReason = 'cannot_add_shop_owner_to_shop' | 'cannot_change_shop_owner_permissions' | 'cannot_delete_shop_owner' | 'cannot_refund_more_than_paid' | 'cannot_restock_more_than_available' | 'cannot_restock_unmanaged_items' | 'cycle' | 'fulfillment_must_be_canceled' | 'fulfillment_must_be_completed' | 'fulfillment_must_be_disabled' | 'fulfillment_must_be_enabled' | 'fulfillment_type' | 'gateway_type' | 'in_progress' | 'no_fulfillable_items' | 'not_an_image' | 'nothing_to_do' | 'only_full_refund' | 'order_capture_forced' | 'order_not_calculable' | 'order_not_capturable' | 'order_not_editable' | 'order_not_payable' | 'order_not_refundable' | 'order_not_reservable' | 'order_not_restockable' | 'order_not_restorable' | 'order_not_cancelable' | 'plan' | 'settings' | 'shipping_rates_invalid' | 'storage' | 'tree_move' | 'trial' | 'in_use' | 'currency_disabled' | 'currency_not_allowed' | 'no_tax_system' | 'two_factor_invalid_state' | 'already_purchased' | 'not_purchased' | 'impossible' | 'invalid_item' | 'gateway_not_selected' | 'test' | 'feature'; export declare type APIError = { message?: string; field?: string; } & ({ code: undefined; } | { code: ErrorCode.Unauthorized; } | { code: ErrorCode.NotFound; } | { code: ErrorCode.TooManyRequests; meta?: { rate_info?: { cap: number; count: number; rate: number; }; }; } | { code: ErrorCode.InternalServerError; meta?: { db_retry?: boolean; enum_id?: number; error?: string; table?: string; }; } | { code: ErrorCode.JWTInvalidForWrite; } | { code: ErrorCode.NoPermissions; meta?: { bits?: string[]; }; } | { code: ErrorCode.ForceRedirect; } | { code: ErrorCode.JWTValidationFailed; } | { code: ErrorCode.InvalidInput; meta?: { fields?: { field: string; max: number; min: number; problem: InvalidInputProblem; }[]; }; } | { code: ErrorCode.OrderError; meta?: { errors?: { code: OrderLineItemErrorCode; line_item_index: number; max: number; min: number; subject: string; }[]; }; } | { code: ErrorCode.ParsingFailure; meta?: { error?: string; }; } | { code: ErrorCode.VersionMismatch; } | { code: ErrorCode.CSVReadError; meta?: { error?: string; }; } | { code: ErrorCode.UserDisabled; } | { code: ErrorCode.UserLocked; } | { code: ErrorCode.ReviewOutOfDate; meta?: { reason?: string; }; } | { code: ErrorCode.RealtimeShippingRatesFailure; meta?: { error?: string; }; } | { code: ErrorCode.URLFetchFailure; meta?: { url?: string; }; } | { code: ErrorCode.TaxSystemFailure; meta?: { error?: string; }; } | { code: ErrorCode.XeroFailure; meta?: { error?: string; }; } | { code: ErrorCode.QuickbooksFailure; meta?: { error?: string; }; } | { code: ErrorCode.CannotSwitchToPlan; meta?: { reason?: string; }; } | { code: ErrorCode.GatewayCreationError; meta?: { error?: string; }; } | { code: ErrorCode.StripeAPICallFailure; meta?: { code?: string; decline_code?: string; message?: string; param?: string; type?: string; }; } | { code: ErrorCode.GatewayTransactionError; meta?: { error?: string; }; } | { code: ErrorCode.TaskTypeInProgress; } | { code: ErrorCode.InvalidFields; meta?: { error?: string; }; } | { code: ErrorCode.InvalidInputCount; } | { code: ErrorCode.FailedCooking; meta?: { error?: string; }; } | { code: ErrorCode.CurrencyConversion; } | { code: ErrorCode.LimitExceeded; meta?: { what?: string; }; } | { code: ErrorCode.InvalidOperation; meta?: { reason?: InvalidOperationReason; }; } | { code: ErrorCode.DownloadLimitExceeded; } | { code: ErrorCode.TryAgainLater; } | { code: ErrorCode.ConditionEvalFailure; meta?: { what?: string; }; } | { code: ErrorCode.RefundFailure; meta?: { error?: string; }; } | { code: ErrorCode.AdminError; meta?: { error?: string; }; } | { code: ErrorCode.AnalyticsAPICallFailure; meta?: { message?: string; }; } | { code: ErrorCode.OAuth2EmailMismatch; });