/*
 * Copyright (C) 2026 Fluxer Contributors
 *
 * This file is part of Fluxer.
 *
 * Fluxer is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * Fluxer is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with Fluxer. If not, see <https://www.gnu.org/licenses/>.
 */

import type {ValueOf} from '@fluxer/constants/src/ValueOf';

export const ValidationErrorCodes = {
	ACCENT_COLOR_CHANGED_TOO_MANY_TIMES: 'ACCENT_COLOR_CHANGED_TOO_MANY_TIMES',
	ACCOUNT_ALREADY_VERIFIED: 'ACCOUNT_ALREADY_VERIFIED',
	AFK_CHANNEL_MUST_BE_IN_GUILD: 'AFK_CHANNEL_MUST_BE_IN_GUILD',
	AFK_CHANNEL_MUST_BE_VOICE: 'AFK_CHANNEL_MUST_BE_VOICE',
	ALL_CHANNELS_MUST_BELONG_TO_GUILD: 'ALL_CHANNELS_MUST_BELONG_TO_GUILD',
	ANIMATED_AVATARS_REQUIRE_PREMIUM: 'ANIMATED_AVATARS_REQUIRE_PREMIUM',
	ANIMATED_GUILD_BANNER_REQUIRES_FEATURE: 'ANIMATED_GUILD_BANNER_REQUIRES_FEATURE',
	AT_LEAST_ONE_ENTRY_IS_REQUIRED: 'AT_LEAST_ONE_ENTRY_IS_REQUIRED',
	AT_LEAST_ONE_RECIPIENT_REQUIRED: 'AT_LEAST_ONE_RECIPIENT_REQUIRED',
	ATTACHMENT_FIELDS_REQUIRED: 'ATTACHMENT_FIELDS_REQUIRED',
	ATTACHMENT_ID_NOT_FOUND_IN_MESSAGE: 'ATTACHMENT_ID_NOT_FOUND_IN_MESSAGE',
	ATTACHMENT_IDS_MUST_BE_VALID_INTEGERS: 'ATTACHMENT_IDS_MUST_BE_VALID_INTEGERS',
	ATTACHMENT_METADATA_WITHOUT_FILES: 'ATTACHMENT_METADATA_WITHOUT_FILES',
	ATTACHMENT_MUST_BE_IMAGE: 'ATTACHMENT_MUST_BE_IMAGE',
	ATTACHMENTS_METADATA_REQUIRED_WHEN_UPLOADING: 'ATTACHMENTS_METADATA_REQUIRED_WHEN_UPLOADING',
	ATTACHMENTS_NOT_ALLOWED_FOR_MESSAGE: 'ATTACHMENTS_NOT_ALLOWED_FOR_MESSAGE',
	AVATAR_CHANGED_TOO_MANY_TIMES: 'AVATAR_CHANGED_TOO_MANY_TIMES',
	BANNER_CHANGED_TOO_MANY_TIMES: 'BANNER_CHANGED_TOO_MANY_TIMES',
	BANNERS_REQUIRE_PREMIUM: 'BANNERS_REQUIRE_PREMIUM',
	BASE64_LENGTH_INVALID: 'BASE64_LENGTH_INVALID',
	BIO_CHANGED_TOO_MANY_TIMES: 'BIO_CHANGED_TOO_MANY_TIMES',
	BUCKET_IS_REQUIRED: 'BUCKET_IS_REQUIRED',
	CANNOT_ADD_YOURSELF_TO_GROUP_DM: 'CANNOT_ADD_YOURSELF_TO_GROUP_DM',
	CANNOT_DELETE_MORE_THAN_100_MESSAGES: 'CANNOT_DELETE_MORE_THAN_100_MESSAGES',
	CANNOT_DM_YOURSELF: 'CANNOT_DM_YOURSELF',
	CANNOT_EDIT_ATTACHMENT_METADATA: 'CANNOT_EDIT_ATTACHMENT_METADATA',
	CANNOT_LEAVE_GUILD_AS_OWNER: 'CANNOT_LEAVE_GUILD_AS_OWNER',
	CANNOT_POSITION_CHANNEL_RELATIVE_TO_ITSELF: 'CANNOT_POSITION_CHANNEL_RELATIVE_TO_ITSELF',
	CANNOT_PRELOAD_MORE_THAN_100_CHANNELS: 'CANNOT_PRELOAD_MORE_THAN_100_CHANNELS',
	CANNOT_REFERENCE_ATTACHMENTS_WITHOUT_ATTACHMENTS: 'CANNOT_REFERENCE_ATTACHMENTS_WITHOUT_ATTACHMENTS',
	CANNOT_REORDER_EVERYONE_ROLE: 'CANNOT_REORDER_EVERYONE_ROLE',
	CANNOT_REPLY_TO_SYSTEM_MESSAGE: 'CANNOT_REPLY_TO_SYSTEM_MESSAGE',
	CANNOT_SET_HOIST_FOR_EVERYONE_ROLE: 'CANNOT_SET_HOIST_FOR_EVERYONE_ROLE',
	CANNOT_SPECIFY_BOTH_BEFORE_AND_AFTER: 'CANNOT_SPECIFY_BOTH_BEFORE_AND_AFTER',
	CANNOT_USE_SAME_ROLE_AS_PRECEDING: 'CANNOT_USE_SAME_ROLE_AS_PRECEDING',
	CATEGORIES_CANNOT_HAVE_PARENT_CHANNEL: 'CATEGORIES_CANNOT_HAVE_PARENT_CHANNEL',
	CATEGORIES_CANNOT_HAVE_PARENTS: 'CATEGORIES_CANNOT_HAVE_PARENTS',
	CHANGING_DISCRIMINATOR_REQUIRES_PREMIUM: 'CHANGING_DISCRIMINATOR_REQUIRES_PREMIUM',
	CHANNEL_DOES_NOT_EXIST: 'CHANNEL_DOES_NOT_EXIST',
	CHANNEL_ID_IS_REQUIRED: 'CHANNEL_ID_IS_REQUIRED',
	CHANNEL_MUST_BE_DM_OR_GROUP_DM: 'CHANNEL_MUST_BE_DM_OR_GROUP_DM',
	CHANNEL_MUST_BE_VOICE: 'CHANNEL_MUST_BE_VOICE',
	CHANNEL_NAME_EMPTY_AFTER_NORMALIZATION: 'CHANNEL_NAME_EMPTY_AFTER_NORMALIZATION',
	CHANNEL_NOT_FOUND: 'CHANNEL_NOT_FOUND',
	COLOR_VALUE_TOO_HIGH: 'COLOR_VALUE_TOO_HIGH',
	COLOR_VALUE_TOO_LOW: 'COLOR_VALUE_TOO_LOW',
	CONTENT_EXCEEDS_MAX_LENGTH: 'CONTENT_EXCEEDS_MAX_LENGTH',
	CONTEXT_CHANNEL_OR_GUILD_ID_REQUIRED: 'CONTEXT_CHANNEL_OR_GUILD_ID_REQUIRED',
	CUSTOM_EMOJI_NOT_FOUND: 'CUSTOM_EMOJI_NOT_FOUND',
	CUSTOM_EMOJIS_REQUIRE_PREMIUM_OUTSIDE_SOURCE: 'CUSTOM_EMOJIS_REQUIRE_PREMIUM_OUTSIDE_SOURCE',
	CUSTOM_STICKER_NOT_FOUND: 'CUSTOM_STICKER_NOT_FOUND',
	CUSTOM_STICKERS_IN_DMS_REQUIRE_PREMIUM: 'CUSTOM_STICKERS_IN_DMS_REQUIRE_PREMIUM',
	CUSTOM_STICKERS_REQUIRE_PREMIUM_OUTSIDE_SOURCE: 'CUSTOM_STICKERS_REQUIRE_PREMIUM_OUTSIDE_SOURCE',
	DISCRIMINATOR_INVALID_FORMAT: 'DISCRIMINATOR_INVALID_FORMAT',
	DISCRIMINATOR_OUT_OF_RANGE: 'DISCRIMINATOR_OUT_OF_RANGE',
	DUPLICATE_ATTACHMENT_IDS_NOT_ALLOWED: 'DUPLICATE_ATTACHMENT_IDS_NOT_ALLOWED',
	DUPLICATE_FILE_INDEX: 'DUPLICATE_FILE_INDEX',
	DUPLICATE_RECIPIENTS_NOT_ALLOWED: 'DUPLICATE_RECIPIENTS_NOT_ALLOWED',
	VOICE_MESSAGES_ATTACHMENT_MUST_BE_AUDIO: 'VOICE_MESSAGES_ATTACHMENT_MUST_BE_AUDIO',
	VOICE_MESSAGES_ATTACHMENT_WAVEFORM_REQUIRED: 'VOICE_MESSAGES_ATTACHMENT_WAVEFORM_REQUIRED',
	VOICE_MESSAGES_ATTACHMENT_DURATION_REQUIRED: 'VOICE_MESSAGES_ATTACHMENT_DURATION_REQUIRED',
	VOICE_MESSAGES_CANNOT_HAVE_CONTENT: 'VOICE_MESSAGES_CANNOT_HAVE_CONTENT',
	VOICE_MESSAGES_CANNOT_HAVE_EMBEDS: 'VOICE_MESSAGES_CANNOT_HAVE_EMBEDS',
	VOICE_MESSAGES_CANNOT_HAVE_FAVORITE_MEMES: 'VOICE_MESSAGES_CANNOT_HAVE_FAVORITE_MEMES',
	VOICE_MESSAGES_CANNOT_HAVE_STICKERS: 'VOICE_MESSAGES_CANNOT_HAVE_STICKERS',
	VOICE_MESSAGES_DURATION_EXCEEDS_LIMIT: 'VOICE_MESSAGES_DURATION_EXCEEDS_LIMIT',
	VOICE_MESSAGES_REQUIRE_SINGLE_ATTACHMENT: 'VOICE_MESSAGES_REQUIRE_SINGLE_ATTACHMENT',
	EMAIL_ALREADY_IN_USE: 'EMAIL_ALREADY_IN_USE',
	EMAIL_IS_REQUIRED: 'EMAIL_IS_REQUIRED',
	EMAIL_LENGTH_INVALID: 'EMAIL_LENGTH_INVALID',
	EMAIL_MUST_BE_CHANGED_VIA_TOKEN: 'EMAIL_MUST_BE_CHANGED_VIA_TOKEN',
	EMAIL_TOKEN_EXPIRED: 'EMAIL_TOKEN_EXPIRED',
	EMBED_INDEX_OUT_OF_BOUNDS: 'EMBED_INDEX_OUT_OF_BOUNDS',
	EMBED_SPLASH_REQUIRES_FEATURE: 'EMBED_SPLASH_REQUIRES_FEATURE',
	EMBEDS_EXCEED_MAX_CHARACTERS: 'EMBEDS_EXCEED_MAX_CHARACTERS',
	EMOJI_REQUIRES_GUILD_OR_PACK_ACCESS: 'EMOJI_REQUIRES_GUILD_OR_PACK_ACCESS',
	FAILED_TO_PARSE_MULTIPART_FORM_DATA: 'FAILED_TO_PARSE_MULTIPART_FORM_DATA',
	FAILED_TO_PARSE_MULTIPART_PAYLOAD: 'FAILED_TO_PARSE_MULTIPART_PAYLOAD',
	FAILED_TO_UPLOAD_IMAGE: 'FAILED_TO_UPLOAD_IMAGE',
	FAVORITE_MEME_NAME_REQUIRED: 'FAVORITE_MEME_NAME_REQUIRED',
	FAVORITE_MEME_NOT_FOUND: 'FAVORITE_MEME_NOT_FOUND',
	FILE_INDEX_EXCEEDS_MAXIMUM: 'FILE_INDEX_EXCEEDS_MAXIMUM',
	FILE_NOT_FOUND_FOR_SCANNING: 'FILE_NOT_FOUND_FOR_SCANNING',
	FILE_NOT_FOUND: 'FILE_NOT_FOUND',
	FILENAME_EMPTY_AFTER_NORMALIZATION: 'FILENAME_EMPTY_AFTER_NORMALIZATION',
	FILENAME_INVALID_CHARACTERS: 'FILENAME_INVALID_CHARACTERS',
	FILENAME_LENGTH_INVALID: 'FILENAME_LENGTH_INVALID',
	FILENAME_MISMATCH_FOR_ATTACHMENT: 'FILENAME_MISMATCH_FOR_ATTACHMENT',
	FORWARD_MESSAGES_CANNOT_CONTAIN_CONTENT: 'FORWARD_MESSAGES_CANNOT_CONTAIN_CONTENT',
	FORWARD_REFERENCE_REQUIRES_CHANNEL_AND_MESSAGE: 'FORWARD_REFERENCE_REQUIRES_CHANNEL_AND_MESSAGE',
	GLOBAL_NAME_CANNOT_CONTAIN_RESERVED_TERMS: 'GLOBAL_NAME_CANNOT_CONTAIN_RESERVED_TERMS',
	GLOBAL_NAME_LENGTH_INVALID: 'GLOBAL_NAME_LENGTH_INVALID',
	GLOBAL_NAME_RESERVED_VALUE: 'GLOBAL_NAME_RESERVED_VALUE',
	GUILD_BANNER_REQUIRES_FEATURE: 'GUILD_BANNER_REQUIRES_FEATURE',
	GUILD_ID_MUST_MATCH_REFERENCED_MESSAGE: 'GUILD_ID_MUST_MATCH_REFERENCED_MESSAGE',
	IMAGE_SIZE_EXCEEDS_LIMIT: 'IMAGE_SIZE_EXCEEDS_LIMIT',
	INTEGER_OUT_OF_INT64_RANGE: 'INTEGER_OUT_OF_INT64_RANGE',
	SNOWFLAKE_OUT_OF_RANGE: 'SNOWFLAKE_OUT_OF_RANGE',
	INVALID_AUDIT_LOG_REASON: 'INVALID_AUDIT_LOG_REASON',
	INVALID_BASE64_FORMAT: 'INVALID_BASE64_FORMAT',
	INVALID_CHANNEL_ID: 'INVALID_CHANNEL_ID',
	INVALID_CHANNEL: 'INVALID_CHANNEL',
	INVALID_CODE: 'INVALID_CODE',
	INVALID_CURRENT_PASSWORD: 'INVALID_CURRENT_PASSWORD',
	INVALID_DATE_OF_BIRTH_FORMAT: 'INVALID_DATE_OF_BIRTH_FORMAT',
	INVALID_DATETIME_FOR_SCHEDULED_SEND: 'INVALID_DATETIME_FOR_SCHEDULED_SEND',
	INVALID_EMAIL_ADDRESS: 'INVALID_EMAIL_ADDRESS',
	INVALID_EMAIL_FORMAT: 'INVALID_EMAIL_FORMAT',
	INVALID_EMAIL_LOCAL_PART: 'INVALID_EMAIL_LOCAL_PART',
	INVALID_EMAIL_OR_PASSWORD: 'INVALID_EMAIL_OR_PASSWORD',
	INVALID_EMAIL_TOKEN: 'INVALID_EMAIL_TOKEN',
	INVALID_FILE_FIELD_NAME: 'INVALID_FILE_FIELD_NAME',
	INVALID_FORMAT: 'INVALID_FORMAT',
	INVALID_IMAGE_DATA: 'INVALID_IMAGE_DATA',
	INVALID_IMAGE_FORMAT: 'INVALID_IMAGE_FORMAT',
	INVALID_INTEGER_FORMAT: 'INVALID_INTEGER_FORMAT',
	INVALID_SNOWFLAKE_FORMAT: 'INVALID_SNOWFLAKE_FORMAT',
	INVALID_ISO_TIMESTAMP: 'INVALID_ISO_TIMESTAMP',
	INVALID_JOB_ID: 'INVALID_JOB_ID',
	INVALID_JSON_IN_PAYLOAD_JSON: 'INVALID_JSON_IN_PAYLOAD_JSON',
	INVALID_MESSAGE_DATA: 'INVALID_MESSAGE_DATA',
	INVALID_MFA_CODE: 'INVALID_MFA_CODE',
	INVALID_OR_EXPIRED_AUTHORIZATION_TICKET: 'INVALID_OR_EXPIRED_AUTHORIZATION_TICKET',
	INVALID_OR_EXPIRED_AUTHORIZATION_TOKEN: 'INVALID_OR_EXPIRED_AUTHORIZATION_TOKEN',
	INVALID_OR_EXPIRED_RESET_TOKEN: 'INVALID_OR_EXPIRED_RESET_TOKEN',
	INVALID_OR_EXPIRED_REVERT_TOKEN: 'INVALID_OR_EXPIRED_REVERT_TOKEN',
	INVALID_OR_EXPIRED_TICKET: 'INVALID_OR_EXPIRED_TICKET',
	INVALID_OR_EXPIRED_VERIFICATION_TOKEN: 'INVALID_OR_EXPIRED_VERIFICATION_TOKEN',
	INVALID_OR_RESTRICTED_RTC_REGION: 'INVALID_OR_RESTRICTED_RTC_REGION',
	INVALID_PARENT_CHANNEL: 'INVALID_PARENT_CHANNEL',
	INVALID_PASSWORD: 'INVALID_PASSWORD',
	INVALID_PROOF_TOKEN: 'INVALID_PROOF_TOKEN',
	INVALID_ROLE_ID: 'INVALID_ROLE_ID',
	INVALID_RTC_REGION: 'INVALID_RTC_REGION',
	INVALID_SCHEDULED_MESSAGE_PAYLOAD: 'INVALID_SCHEDULED_MESSAGE_PAYLOAD',
	INVALID_SNOWFLAKE: 'INVALID_SNOWFLAKE',
	INVALID_TIMEOUT_VALUE: 'INVALID_TIMEOUT_VALUE',
	INVALID_TIMEZONE_IDENTIFIER: 'INVALID_TIMEZONE_IDENTIFIER',
	INVALID_URL_FORMAT: 'INVALID_URL_FORMAT',
	INVALID_URL_OR_ATTACHMENT_FORMAT: 'INVALID_URL_OR_ATTACHMENT_FORMAT',
	INVALID_VERIFICATION_CODE: 'INVALID_VERIFICATION_CODE',
	INVITE_SPLASH_REQUIRES_FEATURE: 'INVITE_SPLASH_REQUIRES_FEATURE',
	JOB_ID_IS_REQUIRED: 'JOB_ID_IS_REQUIRED',
	JOB_IS_ALREADY_PROCESSED: 'JOB_IS_ALREADY_PROCESSED',
	JOB_NOT_FOUND: 'JOB_NOT_FOUND',
	MEDIA_ALREADY_IN_FAVORITE_MEMES: 'MEDIA_ALREADY_IN_FAVORITE_MEMES',
	MESSAGE_HISTORY_CUTOFF_BEFORE_GUILD_CREATION: 'MESSAGE_HISTORY_CUTOFF_BEFORE_GUILD_CREATION',
	MESSAGE_HISTORY_CUTOFF_IN_FUTURE: 'MESSAGE_HISTORY_CUTOFF_IN_FUTURE',
	MESSAGE_IDS_CANNOT_BE_EMPTY: 'MESSAGE_IDS_CANNOT_BE_EMPTY',
	MESSAGES_ARRAY_REQUIRED_AND_NOT_EMPTY: 'MESSAGES_ARRAY_REQUIRED_AND_NOT_EMPTY',
	MESSAGES_WITH_SNAPSHOTS_CANNOT_BE_EDITED: 'MESSAGES_WITH_SNAPSHOTS_CANNOT_BE_EDITED',
	MESSAGE_TOTAL_ATTACHMENT_SIZE_TOO_LARGE: 'MESSAGE_TOTAL_ATTACHMENT_SIZE_TOO_LARGE',
	MULTIPLE_FILES_FOR_INDEX_NOT_ALLOWED: 'MULTIPLE_FILES_FOR_INDEX_NOT_ALLOWED',
	MUST_AGREE_TO_TOS_AND_PRIVACY_POLICY: 'MUST_AGREE_TO_TOS_AND_PRIVACY_POLICY',
	MUST_BE_MINIMUM_AGE: 'MUST_BE_MINIMUM_AGE',
	MUST_ENABLE_2FA_BEFORE_REQUIRING_FOR_MODS: 'MUST_ENABLE_2FA_BEFORE_REQUIRING_FOR_MODS',
	MUST_HAVE_EMAIL_TO_CHANGE_IT: 'MUST_HAVE_EMAIL_TO_CHANGE_IT',
	MUST_START_SESSION_BEFORE_SENDING: 'MUST_START_SESSION_BEFORE_SENDING',
	NAME_EMPTY_AFTER_NORMALIZATION: 'NAME_EMPTY_AFTER_NORMALIZATION',
	NEW_EMAIL_MUST_BE_DIFFERENT: 'NEW_EMAIL_MUST_BE_DIFFERENT',
	NO_FILE_FOR_ATTACHMENT_METADATA: 'NO_FILE_FOR_ATTACHMENT_METADATA',
	NO_FILE_FOR_ATTACHMENT: 'NO_FILE_FOR_ATTACHMENT',
	NO_METADATA_FOR_FILE: 'NO_METADATA_FOR_FILE',
	NO_NEW_EMAIL_REQUESTED: 'NO_NEW_EMAIL_REQUESTED',
	NO_ORIGINAL_EMAIL_ON_RECORD: 'NO_ORIGINAL_EMAIL_ON_RECORD',
	NO_VALID_MEDIA_IN_MESSAGE: 'NO_VALID_MEDIA_IN_MESSAGE',
	NOT_A_VALID_UNICODE_EMOJI: 'NOT_A_VALID_UNICODE_EMOJI',
	ORIGINAL_EMAIL_ALREADY_VERIFIED: 'ORIGINAL_EMAIL_ALREADY_VERIFIED',
	ORIGINAL_EMAIL_MUST_BE_VERIFIED_FIRST: 'ORIGINAL_EMAIL_MUST_BE_VERIFIED_FIRST',
	ORIGINAL_VERIFICATION_NOT_REQUIRED: 'ORIGINAL_VERIFICATION_NOT_REQUIRED',
	PARENT_CHANNEL_NOT_IN_GUILD: 'PARENT_CHANNEL_NOT_IN_GUILD',
	PARENT_MUST_BE_CATEGORY: 'PARENT_MUST_BE_CATEGORY',
	PARSE_AND_USERS_OR_ROLES_CANNOT_BE_USED_TOGETHER: 'PARSE_AND_USERS_OR_ROLES_CANNOT_BE_USED_TOGETHER',
	PASSWORD_IS_TOO_COMMON: 'PASSWORD_IS_TOO_COMMON',
	PASSWORD_LENGTH_INVALID: 'PASSWORD_LENGTH_INVALID',
	PASSWORD_NOT_SET: 'PASSWORD_NOT_SET',
	PAYLOAD_JSON_REQUIRED_FOR_MULTIPART: 'PAYLOAD_JSON_REQUIRED_FOR_MULTIPART',
	PHONE_NUMBER_INVALID_FORMAT: 'PHONE_NUMBER_INVALID_FORMAT',
	PRECEDING_CHANNEL_MUST_SHARE_PARENT: 'PRECEDING_CHANNEL_MUST_SHARE_PARENT',
	PRECEDING_CHANNEL_NOT_IN_GUILD: 'PRECEDING_CHANNEL_NOT_IN_GUILD',
	PRECEDING_ROLE_NOT_IN_GUILD: 'PRECEDING_ROLE_NOT_IN_GUILD',
	PREMIUM_REQUIRED_FOR_CUSTOM_EMOJI: 'PREMIUM_REQUIRED_FOR_CUSTOM_EMOJI',
	PRONOUNS_CHANGED_TOO_MANY_TIMES: 'PRONOUNS_CHANGED_TOO_MANY_TIMES',
	RECIPIENT_IDS_CANNOT_BE_EMPTY: 'RECIPIENT_IDS_CANNOT_BE_EMPTY',
	RECIPIENT_IDS_MUST_BE_STRINGS: 'RECIPIENT_IDS_MUST_BE_STRINGS',
	RECIPIENT_IDS_MUST_BE_VALID_SNOWFLAKES: 'RECIPIENT_IDS_MUST_BE_VALID_SNOWFLAKES',
	REFERENCED_ATTACHMENT_NOT_FOUND: 'REFERENCED_ATTACHMENT_NOT_FOUND',
	ROWS_IS_REQUIRED: 'ROWS_IS_REQUIRED',
	SCHEDULED_MESSAGES_MAX_30_DAYS: 'SCHEDULED_MESSAGES_MAX_30_DAYS',
	SCHEDULED_TIME_MUST_BE_FUTURE: 'SCHEDULED_TIME_MUST_BE_FUTURE',
	SESSION_TIMEOUT: 'SESSION_TIMEOUT',
	SIZE_BYTES_MUST_BE_VALID_INTEGER: 'SIZE_BYTES_MUST_BE_VALID_INTEGER',
	STRING_LENGTH_EXACT: 'STRING_LENGTH_EXACT',
	STRING_LENGTH_INVALID: 'STRING_LENGTH_INVALID',
	SYSTEM_CHANNEL_MUST_BE_IN_GUILD: 'SYSTEM_CHANNEL_MUST_BE_IN_GUILD',
	SYSTEM_CHANNEL_MUST_BE_TEXT: 'SYSTEM_CHANNEL_MUST_BE_TEXT',
	TAG_ALREADY_TAKEN: 'TAG_ALREADY_TAKEN',
	THIS_VANITY_URL_IS_ALREADY_TAKEN: 'THIS_VANITY_URL_IS_ALREADY_TAKEN',
	TICKET_ALREADY_COMPLETED: 'TICKET_ALREADY_COMPLETED',
	TIMEOUT_CANNOT_EXCEED_365_DAYS: 'TIMEOUT_CANNOT_EXCEED_365_DAYS',
	TOO_MANY_EMBEDS: 'TOO_MANY_EMBEDS',
	TOO_MANY_FILES: 'TOO_MANY_FILES',
	TOO_MANY_USERS_WITH_THIS_USERNAME: 'TOO_MANY_USERS_WITH_THIS_USERNAME',
	TOO_MANY_USERS_WITH_USERNAME_TRY_DIFFERENT: 'TOO_MANY_USERS_WITH_USERNAME_TRY_DIFFERENT',
	UNCLAIMED_ACCOUNTS_CAN_ONLY_SET_EMAIL_VIA_TOKEN: 'UNCLAIMED_ACCOUNTS_CAN_ONLY_SET_EMAIL_VIA_TOKEN',
	UNKNOWN_IMAGE_FORMAT: 'UNKNOWN_IMAGE_FORMAT',
	UNRESOLVED_ATTACHMENT_URL: 'UNRESOLVED_ATTACHMENT_URL',
	UPLOADED_ATTACHMENT_NOT_FOUND: 'UPLOADED_ATTACHMENT_NOT_FOUND',
	URL_LENGTH_INVALID: 'URL_LENGTH_INVALID',
	USER_DOES_NOT_HAVE_AN_EMAIL_ADDRESS: 'USER_DOES_NOT_HAVE_AN_EMAIL_ADDRESS',
	USER_IS_NOT_BANNED: 'USER_IS_NOT_BANNED',
	USER_MUST_BE_A_BOT_TO_BE_MARKED_AS_A_SYSTEM_USER: 'USER_MUST_BE_A_BOT_TO_BE_MARKED_AS_A_SYSTEM_USER',
	USER_NOT_IN_CHANNEL: 'USER_NOT_IN_CHANNEL',
	USERNAME_CANNOT_CONTAIN_RESERVED_TERMS: 'USERNAME_CANNOT_CONTAIN_RESERVED_TERMS',
	USERNAME_CHANGED_TOO_MANY_TIMES: 'USERNAME_CHANGED_TOO_MANY_TIMES',
	USERNAME_INVALID_CHARACTERS: 'USERNAME_INVALID_CHARACTERS',
	USERNAME_LENGTH_INVALID: 'USERNAME_LENGTH_INVALID',
	USERNAME_RESERVED_VALUE: 'USERNAME_RESERVED_VALUE',
	VALUE_MUST_BE_INTEGER_IN_RANGE: 'VALUE_MUST_BE_INTEGER_IN_RANGE',
	VALUE_TOO_SMALL: 'VALUE_TOO_SMALL',
	VANITY_URL_CODE_ALREADY_TAKEN: 'VANITY_URL_CODE_ALREADY_TAKEN',
	VANITY_URL_CODE_CANNOT_CONTAIN_FLUXER: 'VANITY_URL_CODE_CANNOT_CONTAIN_FLUXER',
	VANITY_URL_CODE_LENGTH_INVALID: 'VANITY_URL_CODE_LENGTH_INVALID',
	VANITY_URL_INVALID_CHARACTERS: 'VANITY_URL_INVALID_CHARACTERS',
	VANITY_URL_REQUIRES_FEATURE: 'VANITY_URL_REQUIRES_FEATURE',
	VERIFICATION_CODE_EXPIRED: 'VERIFICATION_CODE_EXPIRED',
	VERIFICATION_CODE_NOT_ISSUED: 'VERIFICATION_CODE_NOT_ISSUED',
	VISIONARY_REQUIRED_FOR_BOT_DISCRIMINATOR: 'VISIONARY_REQUIRED_FOR_BOT_DISCRIMINATOR',
	VISIONARY_REQUIRED_FOR_DISCRIMINATOR: 'VISIONARY_REQUIRED_FOR_DISCRIMINATOR',
	BOT_DISCRIMINATOR_CANNOT_BE_CHANGED: 'BOT_DISCRIMINATOR_CANNOT_BE_CHANGED',
	VOICE_CHANNELS_CANNOT_BE_ABOVE_TEXT_CHANNELS: 'VOICE_CHANNELS_CANNOT_BE_ABOVE_TEXT_CHANNELS',
	WEBHOOK_NAME_LENGTH_INVALID: 'WEBHOOK_NAME_LENGTH_INVALID',
} as const;

export type ValidationErrorCode = ValueOf<typeof ValidationErrorCodes>;
