declare enum ColorNames {
    Aqua = "#00FFFF",
    BurlyWood = "#DEB887",
    Chartreuse = "#7FFF00",
    Chocolate = "#D2691E",
    DarkGoldenRod = "#B8860B",
    DarkGray = "#A9A9A9",
    DeepPink = "#FF1493",
    DeepSkyBlue = "#00BFFF",
    FireBrick = "#B22222",
    ForestGreen = "#228B22",
    Gold = "#FFD700",
    GoldenRod = "#DAA520",
    Gray = "#808080",
    Green = "#008000",
    HoneyDew = "#F0FFF0",
    Khaki = "#F0E68C",
    Lavender = "#E6E6FA",
    LightCoral = "#F08080",
    LightGoldenRodYellow = "#FAFAD2",
    Lime = "#00FF00",
    Maroon = "#800000",
    MediumAquaMarine = "#66CDAA",
    Navy = "#000080",
    Orange = "#FFA500",
    PaleGoldenRod = "#EEE8AA",
    Peru = "#CD853F",
    Pink = "#FFC0CB",
    Plum = "#DDA0DD",
    Purple = "#800080",
    Red = "#FF0000",
    Salmon = "#FA8072",
    Sienna = "#A0522D",
    Silver = "#C0C0C0",
    Snow = "#FFFAFA",
    Tan = "#D2B48C",
    Teal = "#008080",
    Thistle = "#D8BFD8",
    Tomato = "#FF6347",
    Turquoise = "#40E0D0",
    Violet = "#EE82EE",
    Wheat = "#F5DEB3",
    White = "#FFFFFF",
    WhiteSmoke = "#F5F5F5",
    Yellow = "#FFFF00",
    YellowGreen = "#9ACD32",
    AbsoluteZero = "#0048BA",
    AcidGreen = "#B0BF1A",
    Aero = "#7CB9E8",
    AeroBlue = "#C9FFE5",
    AfricanViolet = "#B284BE",
    AirForceBlueRAF = "#5D8AA8",
    AirSuperiorityBlue = "#72A0C1",
    AlabamaCrimson = "#AF002A",
    Alabaster = "#EDEAE0",
    AliceBlue = "#F0F8FF",
    AlizarinCrimson = "#E32636",
    Alloy = "#C46210",
    Almond = "#EFDECD",
    Amaranth = "#E52B50",
    AmaranthPink = "#F19CBB",
    AmaranthPurple = "#AB274F",
    AmaranthRed = "#D3212D",
    Amazon = "#3B7A57",
    Amber = "#FFBF00",
    AmberSAE = "#FF7E00",
    AmericanRose = "#FF033E",
    Amethyst = "#9966CC",
    AndroidGreen = "#3DDC84",
    AntiqueWhite = "#FAEBD7",
    AntiqueBrass = "#CD9575",
    AntiFlashWhite = "#F2F3F4",
    AppleGreen = "#8DB600",
    Apricot = "#FBCEB1",
    AquaDeep = "#005F5F",
    Aquamarine = "#7FFFD4",
    ArcticLime = "#D0FF14",
    ArmyGreen = "#4B5320",
    Artichoke = "#8F9779",
    ArylideYellow = "#E9D66B",
    AshGray = "#B2BEB5",
    Asparagus = "#87A96B",
    AtomicTangerine = "#FF9966",
    Auburn = "#A52A2A",
    Aureolin = "#FDEE00",
    AuroMetalSaurus = "#6E7F80",
    Avocado = "#568203",
    Azure = "#007FFF",
    AzureMist = "#F0FFFF",
    BabyBlue = "#89CFF0",
    BabyBlueEyes = "#A1CAF1",
    BabyPink = "#F4C2C2",
    BabyPowder = "#FEFEFA",
    BakerMillerPink = "#FF91AF",
    BananaMania = "#FAE7B5",
    BarbiePink = "#E0218A",
    BarnRed = "#7C0A02",
    BattleshipGrey = "#848482",
    Bazaar = "#98777B",
    BeauBlue = "#BCD4E6",
    Beaver = "#9F8170",
    Beige = "#F5F5DC",
    BigDipORuby = "#9C2542",
    Bisque = "#FFE4C4",
    Bistre = "#3D2B1F",
    BistreBrown = "#967117",
    BitterLemon = "#CAE00D",
    BitterLime = "#BFFF00",
    Bittersweet = "#FE6F5E",
    BittersweetShimmer = "#BF4F51",
    Black = "#000000",
    BlackBean = "#3D0C02",
    BlackCoral = "#54626F",
    BlackOlive = "#3B3C36",
    BlackShadows = "#BFAFB2",
    BlanchedAlmond = "#FFEBCD",
    BlastOffBronze = "#A57164",
    BleuDeFrance = "#318CE7",
    BlizzardBlue = "#ACE5EE",
    Blond = "#FAF0BE",
    Blue = "#0000FF",
    BlueBell = "#A2A2D0",
    BlueBolt = "#00B9FB",
    BlueGray = "#6699CC",
    BlueGreen = "#0D98BA",
    BlueSapphire = "#126180",
    BlueViolet = "#8A2BE2",
    BlueYonder = "#5072A7",
    Blush = "#DE5D83",
    Bole = "#79443B",
    BondiBlue = "#0095B6",
    Bone = "#E3DAC9",
    BostonUniversityRed = "#CC0000",
    BottleGreen = "#006A4E",
    Boysenberry = "#873260",
    BrandeisBlue = "#0070FF",
    Brass = "#B5A642",
    BrickRed = "#CB4154",
    BrightCerulean = "#1DACD6",
    BrightGreen = "#66FF00",
    BrightLavender = "#BF94E4",
    BrightMaroon = "#C32148",
    BrightNavyBlue = "#1974D2",
    BrightPink = "#FF007F",
    BrightTurquoise = "#08E8DE",
    BrightUbe = "#D19FE8",
    BrilliantLavender = "#F4BBFF",
    BrilliantRose = "#FF55A3",
    BrinkPink = "#FB607F",
    BritishRacingGreen = "#004225",
    Bronze = "#CD7F32",
    Brown = "#964B00",
    BubbleGum = "#FFC1CC",
    Bubbles = "#E7FEFF",
    BudGreen = "#7BB661",
    Buff = "#F0DC82",
    Burgundy = "#800020",
    Burlywood = "#DEB887",
    BurnishedBrown = "#A17A74",
    BurntOrange = "#CC5500",
    BurntSienna = "#E97451",
    BurntUmber = "#8A3324",
    Byzantine = "#BD33A4",
    Byzantium = "#702963",
    Cadet = "#536872",
    CadetBlue = "#5F9EA0",
    CadetGrey = "#91A3B0",
    CadmiumGreen = "#006B3C",
    CadmiumOrange = "#ED872D",
    CadmiumRed = "#E30022",
    CadmiumYellow = "#FFF600",
    CafeAuLait = "#A67B5B",
    CafeNoir = "#4B3621",
    CalPolyGreen = "#1E4D2B",
    CambridgeBlue = "#A3C1AD",
    Camel = "#C19A6B",
    CameoPink = "#EFBBCC",
    Canary = "#FFFF99",
    CanaryYellow = "#FFEF00",
    CandyAppleRed = "#FF0800",
    CandyPink = "#E4717A",
    Capri = "#00BFFF",
    CaputMortuum = "#592720",
    Cardinal = "#C41E3A",
    CaribbeanGreen = "#00CC99",
    Carmine = "#960018",
    CarminePink = "#EB4C42",
    CarmineRed = "#FF0038",
    CarnationPink = "#FFA6C9",
    Carnelian = "#B31B1B",
    CarolinaBlue = "#56A0D3",
    CarrotOrange = "#ED9121",
    CatalinaBlue = "#062A78",
    CedarChest = "#C95A49",
    Celadon = "#ACE1AF",
    CeladonBlue = "#007BA7",
    CeladonGreen = "#2F847C",
    Celeste = "#B2FFFF",
    CelestialBlue = "#4997D0",
    Cerise = "#DE3163",
    CerisePink = "#EC3B83",
    Cerulean = "#007BA7",
    CeruleanBlue = "#2A52BE",
    CeruleanFrost = "#6D9BC3",
    CGBlue = "#007AA5",
    CGRed = "#E03C31",
    Chamoisee = "#A0785A",
    Champagne = "#F7E7CE",
    Charcoal = "#36454F",
    CharlestonGreen = "#232B2B",
    CharmPink = "#E68FAC",
    ChartreuseTraditional = "#DFFF00",
    ChartreuseWeb = "#7FFF00",
    Cherry = "#DE3163",
    CherryBlossom = "#FFB7C5",
    Chestnut = "#954535",
    ChinaPink = "#DE6FA1",
    ChinaRose = "#A8516E",
    ChineseRed = "#AA381E",
    ChineseViolet = "#856088",
    ChocolateCosmos = "#58111A",
    ChocolateTraditional = "#7B3F00",
    ChromeYellow = "#FFA700",
    Cinereous = "#98817B",
    Cinnabar = "#E34234",
    Cinnamon = "#D2691E",
    Citrine = "#E4D00A",
    Citron = "#9FA91F",
    Claret = "#7F1734",
    ClassicRose = "#FBCCE7",
    CobaltBlue = "#0047AB",
    CocoaBrown = "#D2691E",
    Coffee = "#6F4E37",
    ColumbiaBlue = "#B9D9EB",
    CongoPink = "#F88379",
    CoolBlack = "#002E63",
    CoolGrey = "#8C92AC",
    Copper = "#B87333",
    CopperCrayola = "#DA8A67",
    CopperPenny = "#AD6F69",
    CopperRed = "#CB6D51",
    CopperRose = "#996666",
    Coquelicot = "#FF3800",
    Coral = "#FF7F50",
    CoralPink = "#F88379",
    CoralRed = "#FF4040",
    Cordovan = "#893F45",
    Corn = "#FBEC5D",
    CornellRed = "#B31B1B",
    CornflowerBlue = "#6495ED",
    Cornsilk = "#FFF8DC",
    CosmicLatte = "#FFF8E7",
    CottonCandy = "#FFBCD9",
    Cream = "#FFFDD0",
    Crimson = "#DC143C",
    CrimsonGlory = "#BE0032",
    Cyan = "#00FFFF",
    CyanAzure = "#4E82B4",
    CyanCobaltBlue = "#28589C",
    CyanCornflowerBlue = "#188BC2",
    CyanProcess = "#00B7EB",
    Cyclamen = "#F56FA1",
    DarkBlue = "#00008B",
    DarkBrown = "#654321",
    DarkByzantium = "#5D3954",
    DarkCandyAppleRed = "#A40000",
    DarkCerulean = "#08457E",
    DarkChestnut = "#986960",
    DarkCoral = "#CD5B45",
    DarkCyan = "#008B8B",
    DarkElectricBlue = "#536878",
    DarkGoldenrod = "#B8860B",
    DarkGreen = "#013220",
    DarkJungleGreen = "#1A2421",
    DarkKhaki = "#BDB76B",
    DarkLava = "#483C32",
    DarkLavender = "#734F96",
    DarkMagenta = "#8B008B",
    DarkMidnightBlue = "#003366",
    DarkOliveGreen = "#556B2F",
    DarkOrange = "#FF8C00",
    DarkOrchid = "#9932CC",
    DarkPastelBlue = "#779ECB",
    DarkPastelGreen = "#03C03C",
    DarkPastelPurple = "#966FD6",
    DarkPastelRed = "#C23B22",
    DarkPink = "#E75480",
    DarkPowderBlue = "#003399",
    DarkRaspberry = "#872657",
    DarkRed = "#8B0000",
    DarkSalmon = "#E9967A",
    DarkScarlet = "#560319",
    DarkSeaGreen = "#8FBC8F",
    DarkSienna = "#3C1414",
    DarkSkyBlue = "#8CBED6",
    DarkSlateBlue = "#483D8B",
    DarkSlateGray = "#2F4F4F",
    DarkSpringGreen = "#177245",
    DarkTan = "#918151",
    DarkTangerine = "#FFA812",
    DarkTaupe = "#483C32",
    DarkTerraCotta = "#CC4E5C",
    DarkTurquoise = "#00CED1",
    DarkVanilla = "#D1BEA8",
    DarkViolet = "#9400D3",
    DartmouthGreen = "#00703C",
    DavysGrey = "#555555",
    Denim = "#1560BD",
    Desert = "#C19A6B",
    DesertSand = "#EDC9AF",
    DimGray = "#696969",
    DodgerBlue = "#1E90FF",
    DogwoodRose = "#D71868",
    DollarBill = "#85BB65",
    Drab = "#967117",
    DukeBlue = "#00009C",
    DutchWhite = "#EFDFBB",
    EarthYellow = "#E1A95F",
    Ebony = "#555D50",
    Ecru = "#C2B280",
    EerieBlack = "#1B1B1B",
    Eggplant = "#614051",
    EggshellGreen = "#A1C935",
    EgyptianBlue = "#1034A6",
    ElectricBlue = "#7DF9FF",
    ElectricCrimson = "#FF003F",
    ElectricCyan = "#00FFFF",
    ElectricGreen = "#00FF00",
    ElectricIndigo = "#6F00FF",
    ElectricLavender = "#F4BBFF",
    ElectricLime = "#CCFF00",
    ElectricPurple = "#BF00FF",
    ElectricUltramarine = "#3F00FF",
    ElectricViolet = "#8F00FF",
    ElectricYellow = "#FFFF00",
    Emerald = "#50C878",
    EnglishGreen = "#1B4D3E",
    EnglishLavender = "#B48395",
    EnglishRed = "#AB4B52",
    EnglishVermillion = "#CC474B",
    EtonBlue = "#96C8A2",
    Eucalyptus = "#44D7A8",
    Fallow = "#C19A6B",
    FaluRed = "#801818",
    Fandango = "#B53389",
    FashionFuchsia = "#F400A1",
    Fawn = "#E5AA70",
    Feldgrau = "#4D5D53",
    FeldgrauGreen = "#4D5D53",
    FernGreen = "#4F7942",
    FerrariRed = "#FF2800",
    FieldDrab = "#6C541E",
    FireEngineRed = "#CE2029",
    Firebrick = "#B22222",
    Flame = "#E25822",
    FlamingoPink = "#FC8EAC",
    Flavescent = "#F7E98E",
    Flax = "#EEDC82",
    Flirt = "#A2006D",
    FloralWhite = "#FFFAF0",
    FluorescentOrange = "#FFBF00",
    FluorescentPink = "#FF1493",
    FluorescentYellow = "#CCFF00",
    Folly = "#FF004F",
    ForestGreenTraditional = "#014421",
    ForestGreenWeb = "#228B22",
    FrenchBeige = "#A67B5B",
    FrenchBistre = "#856D4D",
    FrenchBlue = "#0072BB",
    FrenchFuchsia = "#FD3F92",
    FrenchLilac = "#86608E",
    FrenchLime = "#9EFD38",
    FrenchMauve = "#D473D4",
    FrenchPink = "#FD6C9E",
    FrenchPlum = "#811453",
    FrenchPuce = "#4E1609",
    FrenchRaspberry = "#C72C48",
    FrenchRose = "#F64A8A",
    FrenchSkyBlue = "#77B5FE",
    FrenchViolet = "#8806CE",
    Frostbite = "#E936A7",
    Fuchsia = "#FF00FF",
    FuchsiaPink = "#FF77FF",
    Fulvous = "#E48400",
    FuzzyWuzzy = "#87421F",
    Gainsboro = "#DCDCDC",
    Gamboge = "#E49B0F",
    GhostWhite = "#F8F8FF",
    Ginger = "#B06500",
    Glaucous = "#6082B6",
    Glitter = "#E6E8FA",
    GlossyGrape = "#AB92B3",
    GoGreen = "#00AB66",
    GoldMetallic = "#D4AF37",
    GoldWebGolden = "#FFD700",
    GoldenBrown = "#996515",
    GoldenPoppy = "#FCC200",
    GoldenYellow = "#FFDF00",
    Goldenrod = "#DAA520",
    GraniteGray = "#676767",
    GrannySmithApple = "#A8E4A0",
    GrayAsparagus = "#465945",
    GrayWeb = "#808080",
    GreenCrayola = "#1CAC78",
    GreenWeb = "#008000",
    GreenBlue = "#1164B4",
    GreenCyan = "#009966",
    GreenLizard = "#A7F432",
    GreenSheen = "#6EAEA1",
    GreenYellow = "#ADFF2F",
    Grullo = "#A99A86",
    GuppieGreen = "#00FF7F",
    HalayaUbe = "#663854",
    HanBlue = "#446CCF",
    HanPurple = "#5218FA",
    HansaYellow = "#E9D66B",
    Harlequin = "#3FFF00",
    HarlequinGreen = "#46CB18",
    HarvardCrimson = "#C90016",
    HarvestGold = "#DA9100",
    HeartGold = "#808000",
    Heliotrope = "#DF73FF",
    HeliotropeGray = "#AA98A9",
    HollywoodCerise = "#F400A1",
    Honeydew = "#F0FFF0",
    HonoluluBlue = "#007FBF",
    HookerSGreen = "#49796B",
    HotMagenta = "#FF1DCE",
    HotPink = "#FF69B4",
    HunterGreen = "#355E3B",
    Iceberg = "#71A6D2",
    Icterine = "#FCF75E",
    IlluminatingEmerald = "#319177",
    ImperialBlue = "#002395",
    ImperialPurple = "#66023C",
    ImperialRed = "#ED2939",
    Inchworm = "#B2EC5D",
    IndependenceBlue = "#4C516D",
    IndiaGreen = "#138808",
    IndianRed = "#CD5C5C",
    IndianYellow = "#E3A857",
    Indigo = "#4B0082",
    IndigoDye = "#00416A",
    InternationalKleinBlue = "#002FA7",
    InternationalOrange = "#FF4F00",
    IrisBlue = "#5A4FCF",
    IrishGreen = "#009A44",
    IrresistiblePink = "#B3446C",
    IsabellineIvory = "#F4F0EC",
    IslamicGreen = "#009000",
    ItalianSkyBlue = "#B2FFFF",
    Ivory = "#FFFFF0",
    Jade = "#00A86B",
    JapaneseCarmine = "#9D2933",
    JapaneseIndigo = "#264348",
    JapaneseViolet = "#5B3256",
    Jasmine = "#F8DE7E",
    Jazzberry = "#A50B5E",
    JellyBean = "#DA614E",
    JetBlack = "#343434",
    JohnnyOrange = "#FF6600",
    JordyBlue = "#8AB9F1",
    JuneBud = "#BDDA57",
    JungleGreen = "#29AB87",
    KellyGreen = "#4CBB17",
    KenyanCopper = "#7C1C05",
    KhakiWeb = "#C3B091",
    KhakiX11LightKhaki = "#F0E68C",
    KobeWine = "#582C52",
    KomagRed = "#FF355E",
    KombuGreen = "#354230",
    KsuPurple = "#512888",
    LapisLazuli = "#26619C",
    LaserLemon = "#FFFF66",
    LaurelGreen = "#A9BA9D",
    Lava = "#CF1020",
    LavenderBlue = "#CCCCFF",
    LavenderBlush = "#FFF0F5",
    LavenderFloral = "#B57EDC",
    LavenderGray = "#C4C3D0",
    LavenderIndigo = "#9457EB",
    LavenderMagenta = "#EE82EE",
    LavenderMist = "#E6E6FA",
    LavenderPink = "#FBAED2",
    LavenderPurple = "#967BB6",
    LavenderRose = "#FBA0E3",
    LawnGreen = "#7CFC00",
    Lemon = "#FFF700",
    LemonChiffon = "#FFFACD",
    LemonCurry = "#CCA01D",
    LemonGlacier = "#FDFF00",
    LemonLime = "#E3FF00",
    LemonMeringue = "#F6EABE",
    LemonYellow = "#FFF44F",
    LemonadeBlush = "#FF68C9",
    LemonadeYellow = "#FDE910",
    LightApricot = "#FDD5B1",
    LightBlue = "#ADD8E6",
    LightBrown = "#B5651D",
    LightCarminePink = "#E66771",
    LightCornflowerBlue = "#93CCEA",
    LightCrimson = "#F56991",
    LightCyan = "#E0FFFF",
    LightDarkSahara = "#AF7A72",
    LightDeepPink = "#FF5CCD",
    LightFrenchBeige = "#C8AD7F",
    LightGoldenrodYellow = "#FAFAD2",
    LightGray = "#D3D3D3",
    LightGrayishMagenta = "#CC99CC",
    LightGreen = "#90EE90",
    LightHotPink = "#FFB3DE",
    LightKhaki = "#F0E68C",
    LightMediumOrchid = "#D39BCB",
    LightMustard = "#F3E5AB",
    LightOrchid = "#E6A8D7",
    LightPastelPurple = "#B19CD9",
    LightPink = "#FFB6C1",
    LightRedOchre = "#E97451",
    LightSalmon = "#FFA07A",
    LightSalmonPink = "#FF9999",
    LightSeaGreen = "#20B2AA",
    LightSkyBlue = "#87CEFA",
    LightSlateGray = "#778899",
    LightSteelBlue = "#B0C4DE",
    LightTaupe = "#B38B6D",
    LightThulianPink = "#E68FAC",
    LightYellow = "#FFFFE0",
    Lilac = "#C8A2C8",
    LilacLuster = "#AE98AA",
    LimeColorWheel = "#BFFF00",
    LimeGreen = "#32CD32",
    LincolnGreen = "#195905",
    Linen = "#FAF0E6",
    Lion = "#C19A6B",
    LittleBoyBlue = "#6CA0DC",
    LiverOrgan = "#674C47",
    LizardGreen = "#A1BD43",
    MacaroniAndCheese = "#FFBD88",
    MadderLake = "#CC3336",
    Magenta = "#FF00FF",
    MagentaDye = "#CA1F7B",
    MagentaProcess = "#FF0090",
    MagicMint = "#AAF0D1",
    MagicPotion = "#FF4466",
    Magnolia = "#F8F4FF",
    Mahogany = "#C04000",
    Maize = "#FBEC5D",
    MajorelleBlue = "#6050DC",
    Malachite = "#0BDA51",
    Manatee = "#979AAA",
    MangoGreen = "#96FF00",
    MangoTango = "#FF8243",
    Mantis = "#74C365",
    MardiGras = "#880085",
    Marigold = "#EAA221",
    MaroonCrayola = "#C32148",
    MaroonWeb = "#800000",
    Mauve = "#E0B0FF",
    MauveTaupe = "#915F6D",
    Mauvelous = "#EF98AA",
    MayGreen = "#4C9141",
    MayaBlue = "#73C2FB",
    MeatBrown = "#E5B73B",
    MediumAquamarine = "#66DDAA",
    MediumBlue = "#0000CD",
    MediumCandyAppleRed = "#E2062C",
    MediumCarmine = "#AF4035",
    MediumChampagne = "#F3E5AB",
    MediumElectricBlue = "#035096",
    MediumJungleGreen = "#1C352D",
    MediumLavenderMagenta = "#DDA0DD",
    MediumOrchid = "#BA55D3",
    MediumPersianBlue = "#0067A5",
    MediumPurple = "#9370DB",
    MediumRedViolet = "#BB3385",
    MediumRuby = "#AA4069",
    MediumSeaGreen = "#3CB371",
    MediumSkyBlue = "#80DAEB",
    MediumSlateBlue = "#7B68EE",
    MediumSpringBud = "#C9DC87",
    MediumSpringGreen = "#00FA9A",
    MediumTaupe = "#674C47",
    MediumTurquoise = "#48D1CC",
    MediumTuscanRed = "#79443B",
    MediumVermilion = "#D9603B",
    MediumVioletRed = "#C71585",
    MellowApricot = "#F8B878",
    MellowYellow = "#F8DE7E",
    Melon = "#FDBCB4",
    MetallicBlue = "#3E739E",
    MetallicBronze = "#B4842C",
    MetallicGold = "#D3AF37",
    MetallicGreen = "#329F69",
    MetallicOrange = "#DD7E24",
    MetallicPink = "#EF92AF",
    MetallicRed = "#A63B38",
    MetallicSeaweed = "#0A7E8C",
    MetallicSilver = "#AAA9AD",
    MetallicSunburst = "#9C7C38",
    MetallicViolet = "#6A4873",
    MetallicYellow = "#FDDC5C",
    MexicanPink = "#E4007C",
    MidnightBlue = "#191970",
    MidnightGreen = "#004953",
    MikadoYellow = "#FFC40C",
    MimiBrown = "#A3796F",
    MimiBrowne = "#A3796F",
    Mindaro = "#E3F988",
    MingBlue = "#36747D",
    MinkBrown = "#905A47",
    MintCream = "#F5FFFA",
    MintGreen = "#98FF98",
    MistyRose = "#FFE4E1",
    MobileGreen = "#4C9141",
    Moccasin = "#FAEBD7",
    ModeBeige = "#967117",
    MoonstoneBlue = "#73A9C2",
    MordantRed19 = "#AE0C00",
    MossGreen = "#8A9A5B",
    MountainMeadow = "#30BA8F",
    MountbattenPink = "#997A8D",
    MSUGreen = "#18453B",
    MuddyBrown = "#734A12",
    MulberryWeb = "#C54B8C",
    MulberryPaper = "#C8509B",
    Mustard = "#FFDB58",
    MyrtleGreen = "#317873",
    MySinYellow = "#FFB300",
    NadeshikoPink = "#F6ADC6",
    NapierGreen = "#2A8000",
    NaplesYellow = "#FADA5E",
    NavajoWhite = "#FFDEAD",
    NavyBlue = "#000080",
    NavyPurple = "#9457EB",
    NeonBlue = "#1F51FF",
    NeonCarrot = "#FFA343",
    NeonFuchsia = "#FE4164",
    NeonGreen = "#39FF14",
    NeonPink = "#FE019A",
    NeonPurple = "#BC13FE",
    NeonRed = "#FF3131",
    NeonYellow = "#DFFF00",
    NewCar = "#214FC6",
    NewYorkPink = "#D7837F",
    NickelGray = "#727472",
    NonPhotoBlue = "#A4DDED",
    NorthTexasGreen = "#059033",
    NorthwesternPurple = "#4E2A84",
    NudeBeige = "#F2D3BC",
    NyanzaGreen = "#E9FFDB",
    OceanBlue = "#4F42B5",
    OceanBoatBlue = "#0077BE",
    OceanGreen = "#48BF91",
    Ochre = "#CC7722",
    OfficeGreen = "#008000",
    OldBurgundy = "#43302E",
    OldGold = "#CFB53B",
    OldHeliotrope = "#563C5C",
    OldLace = "#FDF5E6",
    OldLavender = "#796878",
    OldMauve = "#673147",
    OldMossGreen = "#867E36",
    OldRose = "#C08081",
    OldSilver = "#848482",
    Olive = "#808000",
    OliveDrab = "#6B8E23",
    OliveGreen = "#BAB86C",
    Olivine = "#9AB973",
    Onyx = "#353839",
    OperaMauve = "#B784A7",
    OpalBlue = "#0ABAB5",
    OpalGreen = "#089191",
    OrangeCrayola = "#FF7538",
    OrangePantone = "#FF5800",
    OrangeRYB = "#FB9902",
    OrangeWeb = "#FFA500",
    OrangePeel = "#FF9F00",
    OrangeRed = "#FF4500",
    Orchid = "#DA70D6",
    OrchidPink = "#F2BDCD",
    OrchidBlue = "#2B2E8D",
    OrchidGreen = "#4F6A3B",
    OrchidLavender = "#E6A8D7",
    OrchidWhite = "#E6CFCD",
    OrientRed = "#B32428",
    OrientPink = "#F0B9CD",
    OriflammeOrange = "#E56024",
    OrthodoxBrown = "#614E3C",
    OsageOrange = "#D9B611",
    OsmiumBlue = "#3A7B8A",
    OtterBrown = "#654321",
    OuterSpace = "#414A4C",
    OutrageousOrange = "#FF6E4A",
    OxfordBlue = "#002147",
    OxideRed = "#841617",
    OysterWhite = "#E9E1D5",
    PacificBlue = "#1CA9C9",
    PakistanGreen = "#006600",
    PalatinatePurple = "#682860",
    PaleAqua = "#BCD4E6",
    PaleBlue = "#AFEEEE",
    PaleBrown = "#987654",
    PaleCarmine = "#AF4035",
    PaleCerulean = "#9BC4E2",
    PaleChestnut = "#DDADAF",
    PaleCopper = "#DA8A67",
    PaleCornflowerBlue = "#ABCDEF",
    PaleDogwood = "#ED7A9B",
    PaleGold = "#E6BE8A",
    PaleGoldenrod = "#EEE8AA",
    PaleGreen = "#98FB98",
    PaleLavender = "#DCD0FF",
    PaleMagenta = "#F984E5",
    PaleMauve = "#FADADD",
    PalePink = "#FADADD",
    PalePlum = "#DDA0DD",
    PaleRedViolet = "#DB7093",
    PaleRobinEggBlue = "#96DED1",
    PaleSilver = "#C9C0BB",
    PaleSpringBud = "#ECEBBD",
    PaleTaupe = "#BC987E",
    PaleTurquoise = "#AFEEEE",
    PaleViolet = "#CC99FF",
    PaleVioletRed = "#DB7093",
    PalmLeaf = "#6F9940",
    PansyPurple = "#78184A",
    PapayaWhip = "#FFEFD5",
    ParadisePink = "#E63E62",
    ParisGreen = "#50C878",
    ParrotPink = "#D998A0",
    PastelBlue = "#AEC6CF",
    PastelBrown = "#836953",
    PastelGray = "#CFCFC4",
    PastelGreen = "#77DD77",
    PastelMagenta = "#F49AC2",
    PastelOrange = "#FFB347",
    PastelPink = "#FFD1DC",
    PastelPurple = "#B39EB5",
    PastelRed = "#FF6961",
    PastelViolet = "#CB99C9",
    PastelYellow = "#FDFD96",
    Patriarch = "#800080",
    PayneSGrey = "#536878",
    Peach = "#FFE5B4",
    PeachCrayola = "#FFCBA4",
    PeachOrange = "#FFCC99",
    PeachPuff = "#FFDAB9",
    PeachYellow = "#FADFAD",
    Pear = "#D1E231",
    PearlAqua = "#88D8C0",
    PearlBlue = "#B0E0E6",
    PearlyPurple = "#B768A2",
    PebbleGray = "#BEBEBE",
    Peony = "#E8779F",
    PeoplesViolet = "#B41E52",
    PepperGreen = "#2B9F55",
    Peridot = "#E6E200",
    Periwinkle = "#CCCCFF",
    PermanentGeraniumLake = "#E12C2C",
    PersianBlue = "#1C39BB",
    PersianGreen = "#00A693",
    PersianIndigo = "#32127A",
    PersianOrange = "#D99058",
    PersianPink = "#F77FBE",
    PersianPlum = "#701C1C",
    PersianRed = "#CC3333",
    PersianRose = "#FE28A2",
    Persimmon = "#EC5800",
    PeruOrange = "#CD853F",
    PewterBlue = "#8BA8B7",
    PhilippineBlue = "#0038A8",
    PhilippineGray = "#8C8C8C",
    PhilippineGreen = "#00823F",
    PhilippineOrange = "#FF7300",
    PhilippinePink = "#FE8CB2",
    PhilippineRed = "#CE1126",
    PhilippineSilver = "#B3B3B3",
    PhilippineViolet = "#81007F",
    PhilippineYellow = "#FECB00",
    PhloxPink = "#DE6FA1",
    PhthaloBlue = "#000F89",
    PhthaloGreen = "#123524",
    PictonBlue = "#45B1E8",
    PicturePerfectPurple = "#75151E",
    PiggyPink = "#FDDDE6",
    PineGreen = "#01796F",
    PineTree = "#2A2F23",
    PineappleYellow = "#FFEB00",
    PinkFlamingo = "#FC74FD",
    PinkLace = "#FFDDF4",
    PinkLavender = "#D8B2D1",
    PinkPearl = "#E7ACCF",
    PinkRaspberry = "#980036",
    PinkSherbet = "#F78FA7",
    Pistachio = "#93C572",
    Platinum = "#E5E4E2",
    PlumWeb = "#DDA0DD",
    PlumPurple = "#8E4585",
    PoliceBlue = "#374F6B",
    PolishedPine = "#5DA493",
    PompAndPower = "#86608E",
    Popstar = "#BE4F62",
    PortlandOrange = "#FF5A36",
    PowderBlue = "#B0E0E6",
    PrincetonOrange = "#F58025",
    PrussianBlue = "#003153",
    PsychedelicPurple = "#DF00FF",
    Puce = "#CC8899",
    PuebloSand = "#DEB887",
    PuertoRicoGreen = "#00B3A4",
    Pumpkin = "#FF7518",
    PurpleWeb = "#800080",
    PurpleMunsell = "#9F00C5",
    PurpleX11 = "#A020F0",
    PurpleHeart = "#69359C",
    PurpleMountainMajesty = "#9678B6",
    PurplePizzazz = "#FE4EDA",
    PurplePlum = "#9C51B6",
    PurpleTaupe = "#50404D",
    Purpureus = "#9A4EAE",
    QuartzGray = "#51484F",
    QueenBlue = "#436B95",
    QueenPink = "#E8CCD7",
    QuickSilver = "#A6A6A6",
    QuinacridoneMagenta = "#8E3A59",
    QuinacridoneRed = "#8D3F43",
    Quince = "#A5CA8E",
    RadicalRed = "#FF355E",
    RaisinBlack = "#242124",
    RajahYellow = "#FBAB60",
    RapidBlue = "#2B50A8",
    RapidRed = "#DB2B48",
    RaspberryGlace = "#915F6D",
    RaspberryPink = "#E25098",
    RaspberryRose = "#B3446C",
    RawSienna = "#D68A59",
    RawUmber = "#826644",
    RazzleDazzleRose = "#FF33CC",
    RazzmatazzPink = "#E3256B",
    RazzmatazzRed = "#D40000",
    RebeccaPurple = "#663399",
    RedCrayola = "#EE204D",
    RedMunsell = "#F2003C",
    RedNCS = "#C40233",
    RedPantone = "#ED2939",
    RedPigment = "#ED1C24",
    RedRYB = "#FE2712",
    RedOrange = "#FF5349",
    RedPurple = "#E40078",
    RedViolet = "#C71585",
    Redwood = "#A45A52",
    ReefEncounter = "#FFCFCB",
    ReefGold = "#FFDE73",
    ReflexBlue = "#0043A4",
    ResedaGreen = "#6C7C59",
    ResolutionBlue = "#002387",
    RhapsodyBlue = "#4F97A3",
    RhubarbRed = "#DE0000",
    RichBlack = "#004040",
    RichBrilliantLavender = "#F1A7FE",
    RichCarmine = "#D70040",
    RichElectricBlue = "#0892D0",
    RichLavender = "#A76BCF",
    RichLilac = "#B666D2",
    RichMaroon = "#B03060",
    RifleGreen = "#444C38",
    RobinEggBlue = "#00CCCC",
    RocketMetallic = "#8A7F80",
    RomanSilver = "#838996",
    RomanceWhite = "#FFFEFD",
    RomanticAmber = "#FFCD74",
    RomanticalPink = "#FEACB9",
    RoseBonbon = "#F9429E",
    RoseDust = "#9E5E6F",
    RoseEbony = "#674846",
    RoseGold = "#B76E79",
    RoseMadder = "#E32636",
    RosePink = "#FF66CC",
    RoseQuartz = "#AA98A9",
    RoseRed = "#C21E56",
    RoseTaupe = "#905D5D",
    RoseVale = "#AB4E52",
    Rosewood = "#65000B",
    RossoCorsa = "#D40000",
    RosyBrown = "#BC8F8F",
    RosyPink = "#FF69AF",
    RoyalAzure = "#0038A8",
    RoyalBlue = "#4169E1",
    RoyalFuchsia = "#CA2C92",
    RoyalPurple = "#7851A9",
    RoyalYellow = "#FADA5E",
    RubeusRed = "#B00149",
    Ruby = "#E0115F",
    RubyRed = "#9B111E",
    Ruddy = "#FF0028",
    RuddyBrown = "#BB6528",
    RuddyPink = "#E18E96",
    Rufous = "#A81C07",
    RussetOrange = "#80461B",
    RussianGreen = "#679267",
    RussianViolet = "#32174D",
    Rust = "#B7410E",
    RusticRed = "#480607",
    Rusty = "#B7410E",
    SacramentoStateGreen = "#00563F",
    SaddleBrown = "#8B4513",
    SafetyOrange = "#FF6700",
    SafetyYellow = "#EED202",
    Saffron = "#F4C430",
    SageGreen = "#86A288",
    SalmonPink = "#FF91A4",
    SalemRed = "#D43C51",
    SalmonInspiration = "#FF7F50",
    SaltboxGray = "#646B63",
    SaltpanWhite = "#F2F3F4",
    SalusLavender = "#8F63A6",
    SambucaChocolate = "#3C2B20",
    SandyBrown = "#F4A460",
    SandyTaupe = "#967117",
    SandDune = "#967117",
    SangriaBrown = "#92000A",
    SapGreen = "#507D2A",
    Sapphire = "#0F52BA",
    SapphireBlue = "#0067A5",
    SapphireSparkle = "#00437A",
    SatinSheenGold = "#CBA135",
    SaturdayNightBlue = "#1E367B",
    SavoyBlue = "#4B61D1",
    SaxeBlue = "#4F97A3",
    ScarlettRed = "#FF2400",
    SchaussPink = "#FF91AF",
    SchoolBusYellow = "#FFD800",
    ScreaminGreen = "#66FF66",
    SeaBlue = "#006994",
    SeaGreen = "#2E8B57",
    SeaLavender = "#FFF5EE",
    SeaLion = "#915E44",
    SealBrown = "#321414",
    SeamFoam = "#A0E6A4",
    SeaNymph = "#99FFFF",
    SeaPink = "#EA919C",
    SeaShell = "#FFF5EE",
    SeaSerpent = "#4BC7CF",
    Seaweed = "#18453B",
    SelectiveYellow = "#FFBA00",
    SelfishPink = "#D2A4B4",
    SepiaBrown = "#704214",
    SepiaHaze = "#8F8173",
    SepiaRed = "#7B3F00",
    SepulcherShade = "#5C4033",
    SerebeGray = "#C1B6B3",
    ShadowBlue = "#778BA5",
    ShadowGreen = "#9AC2B8",
    ShampooLilac = "#E4BFE1",
    ShamrockGreen = "#009E60",
    SharkskinGray = "#778899",
    SheerPeach = "#FFF0DB",
    SherwoodGreen = "#02402C",
    ShimmeringBlush = "#D98695",
    ShiningGold = "#D4AF37",
    ShinyEggplant = "#8B0074",
    ShipCove = "#7894B0",
    ShockingPink = "#FC0FC0",
    ShopaholicPink = "#FF9EAE",
    ShoreditchIvory = "#FFF3E8",
    SibwayWhite = "#F9F9F9",
    SicilyPeach = "#FF9C6B",
    SiennaOrange = "#882D17",
    SilentNight = "#3C1414",
    SilkSatin = "#C0C0C0",
    SilkScarf = "#F3E7D0",
    SilkSpread = "#FFF7E6",
    SilverChalice = "#ACACAC",
    SilverFoil = "#AFB1AE",
    SilverLake = "#C4AEAD",
    SilverPink = "#C4AEAD",
    SilverSand = "#BFC1C2",
    SinbadBlue = "#4682B4",
    SinopiaRed = "#CB410B",
    SizzlingRed = "#FF3855",
    SizzlingSunrise = "#FFDB00",
    SkeletonBone = "#E1D9D1",
    SkyBlue = "#87CEEB",
    SkyDiver = "#00BFFF",
    SkyMagenta = "#CF71AF",
    SlateBlue = "#6A5ACD",
    SlateGray = "#708090",
    SlimyGreen = "#299617",
    SmaltBlue = "#003399",
    SmokeyTopaz = "#933D41",
    SmokyBlack = "#100C08",
    SmokyQuartz = "#4A2E34",
    SmokyTopaz = "#832A0D",
    SnowFlurry = "#E4FFD1",
    SoapOpera = "#FFCE8E",
    SoaringEagle = "#1E1E1E",
    SoftAmber = "#D1B399",
    SoftPeach = "#F5EDEF",
    SoftPink = "#FFDAB9",
    SolidPink = "#893843",
    SonicSilver = "#757575",
    SoothingSage = "#BFC1C2",
    SophisticatedSalmon = "#F56C7D",
    SorbetOrange = "#FF9966",
    SorrellBrown = "#CBA135",
    SpaceCadet = "#1D2951",
    SpaceCherryRed = "#D21F3C",
    SpanishBistre = "#807532",
    SpanishBlue = "#0070B8",
    SpanishCarmine = "#D10047",
    SpanishCrimson = "#E51A4C",
    SpanishGray = "#989898",
    SpanishGreen = "#009150",
    SpanishOrange = "#E86100",
    SpanishPink = "#F7BFBE",
    SpanishRed = "#E60026",
    SpanishSkyBlue = "#00FFFF",
    SpanishViolet = "#4C2882",
    SpanishViridian = "#007F5C",
    SparklingApple = "#C4D300",
    SparklingSea = "#0082B4",
    SparklingSand = "#F7D9C4",
    SpectrumYellow = "#F9E300",
    SpicedApple = "#783937",
    SpicedNectarine = "#FF8656",
    SpicyMix = "#8B5f4D",
    SpicyMustard = "#D2AA1E",
    SpicyPink = "#FF1CAE",
    SpiroDiscoBall = "#0FC0FC",
    SpirulBlue = "#0B6BA8",
    SplashGreen = "#00A86B",
    SplendourPink = "#B56789",
    SpringBud = "#A7FC00",
    SpringFrost = "#87FF2A",
    SpringGreen = "#00FF7F",
    SpringLeaves = "#578432",
    SpringRain = "#ACCBB1",
    SpringSun = "#F6FFDC",
    SpringWood = "#F8F6F1",
    SpunPearl = "#AAAABF",
    Squid = "#7E9197",
    SquidInk = "#1F1F1F",
    SquirrelGray = "#8F8F8F",
    StPatrickSBlue = "#23297A",
    StarCommandBlue = "#007BB8",
    StarDust = "#9F9F9F",
    StardustPink = "#F6ACC4",
    StarryNight = "#25496D",
    SteelBlue = "#4682B4",
    SteelPink = "#CC33CC",
    StellarBlue = "#006DB0",
    StilDeGrainYellow = "#FADA5E",
    StormCloud = "#4F666A",
    StormyBlue = "#507B9C",
    StrawberryBubble = "#F33B6A",
    StrawberryIce = "#FC5A8D",
    StrawberryRed = "#FC5A8D",
    StrawFlower = "#FEC6D3",
    Strikemaster = "#956387",
    StripedSalmon = "#FF9980",
    StudioMauve = "#B47398",
    StunningBlue = "#2D71BE",
    StunningGreen = "#299617",
    StunningRed = "#E32636",
    StygianBlue = "#000741",
    StyrianGreen = "#2B7A0B",
    SubduedMist = "#D6DABE",
    SubmarineBlue = "#009BAE",
    SubtleBlue = "#C9FFE5",
    SubtleLavender = "#D8BFD8",
    SugarAlmond = "#E7D2C4",
    SugarCane = "#F3E5AB",
    SugarPlum = "#914E75",
    SulphurSpring = "#DCB20A",
    SultanBlue = "#314E6C",
    SultryPlum = "#771F3D",
    SultrySun = "#FFD700",
    SummerGreen = "#86A47C",
    SummerSky = "#38B0DE",
    SummerSplash = "#4EE2EC",
    SummerSun = "#FCD12A",
    SummerSunset = "#FD5E53",
    SunBurst = "#FFCC33",
    SunGlow = "#FFCC33",
    SunKissed = "#FBA949",
    SunRay = "#E3AB57",
    Sunburnt = "#E35335",
    Sunflower = "#E4D422",
    SunflowerYellow = "#FFD700",
    SunlightYellow = "#FFDB58",
    SunnyDay = "#F4E400",
    SunnyLime = "#DFFF00",
    SunsetBlush = "#FFA07A",
    SunsetGold = "#FAD6A5",
    SunsetOrange = "#FD5E53",
    SunshineYellow = "#FFFD37",
    SuperPink = "#CF6BA9",
    SuperSonic = "#3870A0",
    SurfCrest = "#CFE5D2",
    SurfGreen = "#007F5C",
    SurfSpray = "#B3E3DA",
    SurferGreen = "#00A693",
    SurfsUp = "#00FFFF",
    SuspenseGray = "#D0D0D0",
    SweetBrownSugar = "#A83731",
    SweetCorn = "#FBEC5D",
    SweetDreams = "#FFF6F9",
    SweetGrass = "#ECEBCE",
    SweetLavender = "#E3A9BE",
    SweetLilac = "#E8CCD7",
    SweetOrange = "#FFA500",
    SweetPea = "#D59E8A",
    SweetPink = "#FD9FA2",
    SweetPotato = "#D27D2D",
    SwimmingPool = "#1CB9C8",
    SwissCoffee = "#DDD6D5",
    SwordFernGreen = "#6B8F36",
    SyntheticPumpkin = "#FF6B35",
    Syrup = "#F5BE6D",
    TabbyCat = "#D0C29F",
    TacharGreen = "#00A693",
    TaffyPink = "#FFA6C9",
    TahitianBlue = "#006D8F",
    TahunaBrown = "#7C5E42",
    TallPoppy = "#B32D29",
    TamarindBrown = "#541F1F",
    TangerineYellow = "#FFCC00",
    TangerineTango = "#FA8072",
    TangyOrange = "#F28500",
    TangyTeal = "#008080",
    TangyTomato = "#FF6347",
    TannedLeather = "#AB7E4C",
    TantalumGray = "#84878E",
    TapaGray = "#7B7874",
    TapiocaPearl = "#E7DCD9",
    TarawaSand = "#E4D5B7",
    TarnishedGold = "#CD9B1D",
    TartOrange = "#FB4D46",
    TasmanianMistBlue = "#A9BAC9",
    Tawny = "#CD5700",
    TawnyOwl = "#D28E4F",
    TawnyPort = "#692545",
    TeaGreen = "#D0F0C0",
    TeaLeaf = "#6B8F36",
    TeakBrown = "#A64B2A",
    TealBlue = "#367588",
    TealDeer = "#99E6B3",
    TealGreen = "#00827F",
    TealMist = "#C4E4E3",
    TechnoBlue = "#0081AB",
    TeenageDream = "#F653A6",
    TeenageGrass = "#A7FC00",
    TelegraphYellow = "#FFCC00",
    TelluricBrown = "#6E392D",
    TeluluBrown = "#6E392D",
    TemplateBlue = "#3F69AA",
    TenderGreen = "#A9D39E",
    TenderPeach = "#F9E2D2",
    TenderShoot = "#E0EECE",
    TennesseeOrange = "#F77F00",
    TerraCotta = "#E2725B",
    TerracottaBrown = "#A74140",
    TerracottaOrange = "#E26A2C",
    TerrainGreen = "#568203",
    TexasRose = "#FFB555",
    ThaiBasil = "#4E6E34",
    ThaiOrange = "#FA8072",
    ThalassophileBay = "#008080",
    ThatchGreen = "#403D19",
    TheatricalRed = "#BF0A30",
    ThermometerRed = "#FF1000",
    ThiefOfHearts = "#FF00AE",
    ThinIce = "#E5EFEB",
    ThisisMe = "#4B0082",
    ThistlePurple = "#D8BFD8",
    ThornbirdBrown = "#8E6F4E",
    ThousandNights = "#0D2C54",
    ThreeFiveOnePlusPlus = "#3B3D38",
    ThulianPink = "#DE6FA1",
    ThunderCloud = "#4D5D53",
    ThunderGray = "#51484F",
    ThymeGreen = "#696A4F",
    TibetanRed = "#78184A",
    TidepoolBlue = "#0A6F75",
    TigerEye = "#E08D3C",
    TigerLily = "#E15D44",
    TigersEye = "#B56917",
    TikalGreen = "#116530",
    TimberwolfGray = "#DBD7D2",
    TinkersBellPurple = "#CD00CC",
    TintedMist = "#F1F3F2",
    TinyRuby = "#A32638",
    Tiramisu = "#9C7A54",
    TitaniumYellow = "#EEE600",
    TitanWhite = "#F3F1ED",
    ToadstoolGray = "#8B8589",
    ToastedAlmond = "#D2B48C",
    ToastedCoconut = "#FEF0C8",
    ToastedMarshmallow = "#EEE3D6",
    ToastOrange = "#FF9966",
    TobenamBlue = "#354E8C",
    TobogganRed = "#C82536",
    ToffeeApple = "#B91A27",
    ToffeeBrown = "#A67B5B",
    ToffeeCrunch = "#CD8431",
    TokyoPurple = "#5C2751",
    TomatoRed = "#FF6347",
    TomatoSauce = "#B21807",
    TomatoTango = "#E6424B",
    TomorrowsGreen = "#01796F",
    TonguePink = "#FF88CF",
    ToonLipstick = "#FF6961",
    TopazBlue = "#0095B6",
    TorchRed = "#FF0033",
    ToreaBay = "#0054B4",
    TornadoGray = "#484848",
    TorridTaupe = "#A87C6D",
    TortoiseShell = "#704214",
    TotalEclipse = "#141414",
    TouchOfGray = "#B1B3B3",
    TourmalineGreen = "#86A96F",
    TowerGray = "#A9AAAA",
    ToxicLime = "#A8FF00",
    TractorRed = "#FD0E35",
    TrafficLightAmber = "#FFBF00",
    TrafficLightGreen = "#33FF00",
    TrailDustBrown = "#AE6938",
    TranquilTeal = "#2F8C84",
    TranscendentTeal = "#007C80",
    TranquilityBlue = "#4F97A3",
    TranslucentWhite = "#FFFFFF",
    TravertineBeige = "#FFFDD0",
    TrebekBlue = "#2C6FBB",
    TreeFrogGreen = "#4AFF00",
    TreeHouseGreen = "#3B7A57",
    TreeLineGreen = "#013220",
    TreeMossGreen = "#317873",
    TreePoppy = "#FC9C1D",
    TreeTrunkBrown = "#4A3728",
    TrendyPink = "#F65E8D",
    TropicalBlue = "#007CB0",
    TropicalForest = "#016A37",
    TropicalGreen = "#00AF66",
    TropicalIndigo = "#9683EC",
    TropicalLagoon = "#00A86B",
    TropicalOasis = "#00A86B",
    TropicalOrange = "#FF9933",
    TropicalPeach = "#FFA380",
    TropicalRainForest = "#00755E",
    TropicalSea = "#00A86B",
    TropicalTurquoise = "#00CED1",
    TropicalViolet = "#CDA4DE",
    TropicalWaters = "#00BFFF",
    TropicanaRose = "#F7968F",
    TroutGray = "#4A4E4D",
    TrueBlue = "#0073CF",
    TruffleBeige = "#D2B48C",
    TruffleCream = "#E3DCD2",
    TsarskoyeSelo = "#084594",
    TubularBrass = "#D9A460",
    TuckRed = "#990000",
    TuftBush = "#FFDDCA",
    TuftedTeal = "#007A87",
    TuileBrown = "#A67B5B",
    TulipPink = "#FF6B8B",
    TulipRed = "#FF3855",
    TulipTree = "#EAB33B",
    TumbleweedBrown = "#DEA681",
    TundraGreen = "#4C9141",
    TunicGreen = "#3F9B0B",
    TunnelGreen = "#005244",
    TurkishBlue = "#4F97A3",
    TurkishRose = "#B57281",
    TurmericYellow = "#FFC30B",
    TurquoiseBlue = "#00FFEF",
    TurquoiseGreen = "#A0D6B4",
    TurquoiseSurf = "#00C5CD",
    TurtleGreen = "#2A8000",
    TuscanyBeige = "#FCDAC1",
    TuscanRed = "#7C4848",
    TuscanSun = "#FAD6A5",
    TuscanTan = "#A67B5B",
    TuskEggplant = "#4E2F2F",
    TuttiFrutti = "#FFB7D5",
    TweedGray = "#8A9597",
    TwilightBlue = "#004E7C",
    TwilightLavender = "#8A496B",
    TwilightRose = "#8A496B",
    TwilightViolet = "#66023C",
    TwineYellow = "#D1B77E",
    TwinklingStar = "#E8F1D4",
    TwisterLilac = "#D6CADD",
    TyrianPurple = "#66023C",
    UltraBlue = "#4166F5",
    UltraPink = "#FF6FFF",
    UltraRed = "#FC6C85",
    UltraViolet = "#645394",
    UmberBrown = "#635147",
    UmbraBrown = "#635147",
    UnbleachedSilk = "#FFDDCA",
    UnicornSilver = "#E8E8E8",
    UniversityBlue = "#0033A0",
    UniversityRed = "#CE1126",
    UnmellowYellow = "#FFFF66",
    UpForestGreen = "#014421",
    UpMaroon = "#7B1113",
    UranianBlue = "#AFDBF5",
    UrbanChic = "#5E5E5E",
    USAFABlue = "#004F98",
    VacationBlue = "#0080FF",
    ValentineRed = "#E55451",
    ValleyGreen = "#009959",
    VampireBlack = "#080808",
    VampireGray = "#565051",
    VanCleefRed = "#B90E0A",
    VanDykeBrown = "#664228",
    VanillaBean = "#D0D0C5",
    VanillaCream = "#F3E5AB",
    VanillaIce = "#F38FA9",
    VanillaMilk = "#FFF5E1",
    VanillaSherbet = "#FFD6C9",
    VanillaShort = "#F0E68C",
    VanillaSpice = "#E8C39E",
    VanillaSugar = "#FFF5EE",
    VanishingPoint = "#F0F8FF",
    VaporTrail = "#F2F2F2",
    VaporWave = "#FFD1DC",
    VaselineGreen = "#20B2AA",
    VegetableGreen = "#3CB371",
    VegetaleBroth = "#F0E2B6",
    VeiledRose = "#F8C3DF",
    VelvetBlack = "#0D0D0D",
    VelvetMaroon = "#800020",
    VelvetNight = "#0D0C1C",
    VelvetViolet = "#8F00FF",
    VenetianBlue = "#0066CC",
    VenetianRed = "#C80815",
    VeniceBlue = "#055989",
    VenomGreen = "#728C00",
    VenusGreen = "#66B032",
    VenusRed = "#DD4124",
    VenusianOrange = "#FF4633",
    VerdantGreen = "#3B7A57",
    VerdigrisGreen = "#43B3AE",
    VerdunGreen = "#495E35",
    VermeerBlue = "#0046AD",
    VermilionRed = "#E34234",
    VermilionCinnabar = "#E34234",
    VeronicaPurple = "#A020F0",
    VersaillesGold = "#D4AF37",
    VeryBerryPurple = "#990066",
    VeryLightMalachiteGreen = "#64E986",
    VeryPeri = "#6667AB",
    VibrantBlue = "#0339F8",
    VibrantCanary = "#FFFF00",
    VibrantGreen = "#00FF7F",
    VibrantHoney = "#E69F00",
    VibrantOrange = "#FF7F00",
    VibrantPlum = "#8E4585",
    VibrantRaspberry = "#FF006C",
    VibrantRed = "#F62217",
    VibrantTangerine = "#FF9900",
    VibrantViolet = "#9F00FF",
    VibrantYellow = "#FFE302",
    VictorianViolet = "#8F00FF",
    VictoryBlue = "#0066CC",
    ViennaRoastBrown = "#533D32",
    ViewOnBlue = "#0066CC",
    VikingBlue = "#64CCDB",
    VillageGreen = "#2F6444",
    VinRougeRed = "#955251",
    VintageBlueBell = "#7B68EE",
    VintageCopper = "#B87333",
    VintageIndigo = "#4B0082",
    VintageLinen = "#F6EEE0",
    VintageMauve = "#8E4483",
    VintagePeony = "#E68FAC",
    VintageRose = "#C08081",
    VinylBlack = "#101010",
    ViolaFlower = "#8D4585",
    VioletBlue = "#324AB2",
    VioletEggplant = "#991199",
    VioletIndigo = "#29AB87",
    VioletQuartz = "#936E9F",
    VioletRed = "#F75394",
    VioletSage = "#8F7E96",
    VioletVixen = "#8601AF",
    ViolinBrown = "#674C47",
    ViperGreen = "#74B72E",
    VirginiaCreeper = "#B93B8F",
    VirginOliveOil = "#C5B358",
    ViridianGreen = "#40826D",
    ViscoseBlue = "#29508B",
    ViscountGreen = "#5F7D6B",
    VisionaryViolet = "#B284BE",
    VistaBluePearl = "#00CCFF",
    VividAubergine = "#66023C",
    VividBlue = "#0067A5",
    VividBurgundy = "#9F1D35",
    VividCerise = "#DA1D81",
    VividGamboge = "#FF9900",
    VividMulberry = "#B80CE3",
    VividOrchid = "#CC00FF",
    VividRaspberry = "#FF006C",
    VividRedTangelo = "#DF6124",
    VividSkyBlue = "#00CCFF",
    VividTangerine = "#FFA089",
    VividViolet = "#9F00FF",
    VividYellow = "#FFE302",
    VodkaBlue = "#5B92E5",
    VolcanoAsh = "#575757",
    VoltYellow = "#CEFF00",
    VoodooBlue = "#4F97A3",
    VoodooPurple = "#5C2751",
    VulcanGreen = "#008080",
    WalnutBrown = "#5C5248",
    WarmApricot = "#FDD5B1",
    WarmBlack = "#004242",
    WarmBlue = "#4B61D1",
    WarmCobblestone = "#968E85",
    WarmGray = "#808069",
    WarmMustard = "#D2A03F",
    WarmOlive = "#7C7C3E",
    WarmPewter = "#8C8C8C",
    WarmPink = "#FB5581",
    WarmPurple = "#952E8F",
    WarmSand = "#C2B280",
    WarmSienna = "#D2691E",
    WarmTaupe = "#AF8F8F",
    WarriorBlue = "#0033AA",
    WasabiGreen = "#788A25",
    WashingtonBlue = "#002366",
    WashedDenim = "#6E8CAD",
    WaterBlue = "#0ABAB5",
    WaterChestnut = "#72624A",
    WaterLily = "#DCF0E6",
    WatermelonPink = "#FC6C85",
    WatermelonRed = "#BF4147",
    WaterSplash = "#85C1E9",
    WaterspoutBlue = "#A4D8D8",
    WatersprayGreen = "#7AC7A5",
    WaterTurquoise = "#59D7D1",
    WaterspoutGreen = "#A8E3BD",
    WaveBlue = "#5686BF",
    WaxFlower = "#EEB895",
    WayfarerGreen = "#7C9D8E",
    WeatheredStone = "#C0C0C0",
    WeddingDressWhite = "#FEFEE7",
    WeddingVeilWhite = "#FAFAFF",
    WeimarBlue = "#9EB6D8",
    WesternCharcoal = "#4A4244",
    WesternRed = "#B72025",
    WesternSand = "#F2D6A2",
    WestminsterBlue = "#2C3E4F",
    WetAsphalt = "#34495E",
    WetCement = "#96A8A1",
    WetSand = "#B8860B",
    WhaleSharkGrey = "#808080",
    WheatField = "#F5DEB3",
    WhippedCream = "#FFFDD0",
    WhisperWhite = "#F5F5F5",
    WhisperingPink = "#F6E5E5",
    WhisperingWind = "#E6E6E6",
    WhiskyBrown = "#D4AF37",
    WhiteAlyssum = "#FFFEFD",
    WhiteAsparagus = "#F0EAD6",
    WhiteCap = "#ECEAE2",
    WhiteChocolate = "#EDE6D6",
    WhiteCoffee = "#E6E0D4",
    WhiteDiamond = "#E8E8E8",
    WhiteDove = "#F1F1F1",
    WhiteFlame = "#FFFAF0",
    WhiteLace = "#FDF5E6",
    WhiteLinen = "#F8F0E3",
    WhiteMist = "#E5E5E5",
    WhiteNectar = "#FDEFD9",
    WhiteNoise = "#E8E8E8",
    WhitePeach = "#FFDAB9",
    WhitePearl = "#EAE0C8",
    WhitePepper = "#F5E6D3",
    WhitePlatinum = "#E5E4E2",
    WhitePointer = "#FEF8E2",
    WhitePowder = "#FDFDFD",
    WhiteSage = "#E5E4D7",
    WhiteSpruce = "#F0F2E8",
    WhiteTruffle = "#EFE6D4",
    WhiteWash = "#F5F5F5",
    WhiteWater = "#F0FFFF",
    WhiteWave = "#F5F5F5",
    WhiteWinterWonderland = "#F0F0F0",
    WhiteZinfandel = "#F7E7CE",
    WickedGreen = "#47A76A",
    WickerBasket = "#D5C2A7",
    WickerBrown = "#A0522D",
    WideawakeBlue = "#3A5F85",
    WigwamBrown = "#8B4513",
    WildBlue = "#1C39BB",
    WildBlueYonder = "#A2ADD0",
    WildCarrot = "#FF9966",
    WildCherryBark = "#7C1C05",
    WildDove = "#A9A8A7",
    WildHorseRun = "#E6BE8A",
    WildIris = "#6F69AC",
    WildLavender = "#BF94E4",
    WildLime = "#BFFF00",
    WildMint = "#C2E8CD",
    WildOrchid = "#D470A2",
    WildPansyPurple = "#D177B3",
    WildPineapple = "#FFD700",
    WildPurple = "#6B2D5C",
    WildRice = "#D8C2A5",
    WildRose = "#FF66CC",
    WildSaffron = "#F4C430",
    WildSalmon = "#FF91A4",
    WildStrawberry = "#FF43A4",
    WildThyme = "#A09279",
    WildViolet = "#9A6BA0",
    WildWatermelon = "#FC6C85",
    WildWillow = "#B9C46A",
    WillowBark = "#967969",
    WillowBrook = "#E6F2D9",
    WillowGrove = "#9C9C84",
    WillowLeaf = "#95AF65",
    WillowWood = "#8E7C5A",
    WindChime = "#C9C9C9",
    WindSurfer = "#4B8EA5",
    WindsweptBeach = "#F9EEE0",
    WindTurbine = "#B4CFD3",
    WindyBlue = "#70A3CC",
    WineBarrel = "#88675C",
    WineBerry = "#591D35",
    WineBottle = "#034F2D",
    WineDregs = "#673147",
    WineGum = "#D82E54",
    WineStain = "#69359C",
    WinebarrelBrown = "#8F5C4C",
    WingedVictory = "#E3DAC9",
    WinterBlue = "#4682B4",
    WinterFreeze = "#8CBED6",
    WinterGreen = "#4F7942",
    WinterHazel = "#D5CEA3",
    WinterLake = "#1F4E79",
    WinterMist = "#C9D1D3",
    WinterMoonGlow = "#E6E8FA",
    WinterNights = "#2C3E50",
    WinterPear = "#B0B487",
    WinterSky = "#FF007C",
    WinterStorm = "#4F94CD",
    WinterSunset = "#FFA089",
    WinterSweet = "#FFF6D9",
    WinterWizard = "#A0E6FF",
    WintergreenDream = "#4B6F44",
    WisdomBlue = "#007BB8",
    WisteriaBlue = "#C9A0DC",
    WisteriaPurple = "#C9A0DC",
    WitchHazel = "#FBEC5D",
    WitchingHour = "#3A3A4E",
    WitchsPotion = "#4F666A",
    WitheredRose = "#C08081",
    WizardGray = "#858585",
    WizardsWand = "#8B4513",
    WolfGray = "#8C8C8C",
    WolframGray = "#2C3539",
    WombatBrown = "#746058",
    WonderMint = "#B8E2D8",
    WonderfulWisteria = "#D7BFD7",
    WonderfulWool = "#E2D8C3",
    WoodAsh = "#BDB6AB",
    WoodBark = "#302621",
    WoodDove = "#948589",
    WoodElf = "#4D5645",
    WoodlandGreen = "#4B6F44",
    WoodlandMist = "#C8C3CC",
    WoodRose = "#A16B68",
    WoodSmoke = "#1B1B1B",
    WoodSorrel = "#EDF3B4",
    WoodViolet = "#7F5A7C",
    WoodWind = "#C0AB8E",
    WoodyBrown = "#483C32",
    WornDenim = "#6E8FAD",
    WornGold = "#CFB53B",
    WraithWhite = "#E6E6E6",
    WroughtIron = "#353535",
    WyndhamGreen = "#559E83",
    Xanadu = "#738678",
    XanthicYellow = "#EEED09",
    XanthousYellow = "#F1B42F",
    XmasGold = "#DAA520",
    XmasGreen = "#00573F",
    XmasRed = "#AA0114",
    XmasSilver = "#BFBFBF",
    YaleBlue = "#0F4D92",
    YamPurple = "#8E4585",
    YangMingGreen = "#007852",
    YellowBrick = "#EDCA76",
    YellowCab = "#FFD42A",
    YellowGold = "#FFDF00",
    YellowIris = "#FFDA00",
    YellowJasmine = "#F8DE7E",
    YellowMetal = "#7F7F00",
    YellowOrange = "#FFAE42",
    YellowPear = "#D1E231",
    YellowRose = "#FFF000",
    YellowSea = "#FEA904",
    YellowSubmarine = "#FFFF14",
    YellowSun = "#FFE87C",
    YellowTaxi = "#F6D155",
    YellowTopaz = "#FFC87C",
    YellowZinnia = "#FFC300",
    YellowbellyCream = "#F5E6D3",
    YellowhammerYellow = "#FFFF00",
    YemenBrown = "#967117",
    YewGreen = "#1B4D3E",
    YinMnBlue = "#2E5090",
    YlangYlang = "#D4C26A",
    YoderBlue = "#5072A7",
    YogaMatPurple = "#9C51B6",
    YogiBlue = "#3399FF",
    YorkshireMist = "#8F9695",
    YoungBerryPurple = "#8D0226",
    YoungGreen = "#C9DC87",
    YoungLove = "#FFC3C0",
    YoungNightfall = "#28334A",
    YoungSalmon = "#FFB7A5",
    YoungTurquoise = "#85E0E0",
    YoungWheat = "#E1C16E",
    YouthBerry = "#4D0026",
    YouthfulYellow = "#FFFF66",
    YukonGold = "#7B6608",
    YukonGoldPotato = "#F8D474",
    YummyApricot = "#FDD5B1",
    YummyBanana = "#FEE140",
    YummyBerry = "#8A307F",
    YummyCandy = "#FF9999",
    YummyCherry = "#FF4444",
    YummyMint = "#C8E3D4",
    YummyOrange = "#FC9C1D",
    YummyPeach = "#FFCBA4",
    YummyPear = "#D1E231",
    YummyPineapple = "#FEE227",
    YummyPink = "#FFC0CB",
    YummyPlum = "#8E4585",
    YummyPurple = "#A35995",
    YummyStrawberry = "#FC5A8D",
    YukonGoldYellow = "#EED202",
    Yuma = "#D2B48C",
    YuzuYellow = "#ECB90A",
    ZaffireBlue = "#0014A8",
    ZambesiGreen = "#5B6F4A",
    ZanzibarGold = "#D4AF37",
    ZealousZaffre = "#3626A7",
    ZealousZebra = "#000000",
    ZealousZeppelin = "#8C8C8C",
    ZealousZinc = "#92898A",
    ZealousZombie = "#3A3C3C",
    ZealousZucchini = "#17462E",
    ZebraStripe = "#2C2C2C",
    ZenGarden = "#E6DFCC",
    ZenMist = "#E0E4E5",
    ZenTaupe = "#8F7C69",
    ZenithBlue = "#4F97A3",
    ZephyrPink = "#FF9999",
    ZephyrZebra = "#FFFAFA",
    ZeroGravity = "#E1F1F6",
    ZestyLemon = "#F4E649",
    ZestyLime = "#C8FD3D",
    ZestyOrange = "#FF9944",
    ZestyZinc = "#7E7F80",
    ZestySalmon = "#FF7F50",
    ZibertBrown = "#5A4A42",
    ZigzagWhite = "#F3F3F3",
    ZincDust = "#848789",
    ZincWhite = "#FAFAFA",
    ZincYellow = "#FEE12B",
    ZinniaOrange = "#FF6600",
    ZinnwalditeWhite = "#EBE3D7",
    ZirconBlue = "#F4F8FF",
    ZirconGreen = "#57837B",
    ZirconWhite = "#F4FAFE",
    ZombieGreen = "#54AC68",
    ZombieSkin = "#E4D96F",
    ZonalRose = "#EEA9A9",
    ZucchiniGreen = "#17462E",
    ZuluGreen = "#3A6A47",
    ZuluPurple = "#5D3954"
}
interface GetColorNameFromHexOutput {
    hexcode: string;
    colorName: string;
    isExactMatch: boolean;
    shadeHex: string;
    shadeName: string;
    distance: number;
}
interface GetColorNameFromHexOptions {
    hexCode: string;
}

type HEX = `#${string}`;

interface GetRgbaFromHexOptions {
    hexCode: HEX;
    alpha?: number;
}
interface GetRgbaFromHexOutput {
    rgba: string;
    r: number;
    g: number;
    b: number;
    a: number;
}

type ColorSchemeType = 'monochromatic' | 'analogous' | 'complementary' | 'triadic' | 'tetradic' | 'complementary';
interface ColorScheme {
    colors: HEX[];
    areas: {
        primary: HEX;
        secondary: HEX;
        accent: HEX;
        neutral: HEX;
    };
}

/**
 * A theme type that varies based on the expandPalette boolean parameter
 *
 * @template T - Boolean type parameter that determines if the theme is expanded
 * @returns {ExpandedColorTheme | RegularColorTheme} Returns ExpandedColorTheme if T is true, otherwise RegularColorTheme
 *
 * @example
 * // Regular theme
 * type RegularTheme = ThemeType<false>;
 *
 * // Expanded theme
 * type ExpandedTheme = ThemeType<true>;
 */
type ThemeType<T extends boolean> = T extends true ? ExpandedColorTheme : RegularColorTheme;
/**
 * Options for generating a color theme
 *
 * @template T - Boolean type parameter that determines if the theme palette should be expanded
 * @property {HEX} baseColor - The base color to generate the theme from
 * @property {T} [expandPalette] - Whether to generate an expanded palette with additional shades
 * @property {ColorSchemeType} [colorScheme='complementary'] - The type of color scheme to generate
 * @property {number} [infoHue=200] - The hue value for info colors
 * @property {number} [successHue=120] - The hue value for success colors
 * @property {number} [warningHue=40] - The hue value for warning colors
 * @property {number} [errorHue=0] - The hue value for error colors
 *
 * @example
 * const options: GenerateThemeOptions = {
 *   baseColor: '#ff0000',
 *   expandPalette: true,
 *   colorScheme: 'complementary',
 *   infoHue: 200,
 *   successHue: 120,
 *   warningHue: 40,
 *   errorHue: 0
 * };
 */
interface GenerateThemeOptions<T extends boolean = false> {
    baseColor: HEX;
    expandPalette?: T;
    colorScheme?: ColorSchemeType;
    infoHue?: number;
    successHue?: number;
    warningHue?: number;
    errorHue?: number;
}
/**
 * A set of colors with different shades
 * @property DEFAULT - The default color
 * @property light - The light color
 * @property dark - The dark color
 * @property contrastText - The contrast text color
 * @property contrastTextLarge - The contrast text color for large text
 * @property uiContrast - The contrast color for UI elements
 * @property active - The active color
 * @property clarity - The clarity of the color
 * @property tone - The tone of the color
 * @property inverse - The inverse color
 */
interface ColorSet {
    DEFAULT: HEX;
    light: HEX;
    dark: HEX;
    contrastText: HEX;
    contrastTextLarge: HEX;
    uiContrast: HEX;
    active: HEX;
    clarity: string;
    tone: 'light' | 'dark';
    inverse: HEX;
}
/**
 * An expanded color set with shades from 50 to 900
 * @property 50 - The 50 shade
 * @property 100 - The 100 shade
 * @property 200 - The 200 shade
 * @property 300 - The 300 shade
 * @property 400 - The 400 shade
 * @property 500 - The 500 shade
 * @property 600 - The 600 shade
 * @property 700 - The 700 shade
 * @property 800 - The 800 shade
 * @property 900 - The 900 shade
 */
interface ExpandedColorSet extends ColorSet {
    palette: {
        [key in `${50 | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900}`]: HEX;
    };
}
/**
 * A theme with different color categories for a regular palette
 * @property brand - The brand color
 * @property primary - The primary color
 * @property secondary - The secondary color
 * @property accent - The accent color
 * @property neutral - The neutral color
 * @property info - The info color
 * @property success - The success color
 * @property warning - The warning color
 * @property error - The error color
 * @property schemeColors - The color scheme colors
 */
interface RegularColorTheme {
    brand: ColorSet;
    primary: ColorSet;
    secondary: ColorSet;
    accent: ColorSet;
    neutral: ColorSet;
    info: ColorSet;
    success: ColorSet;
    warning: ColorSet;
    error: ColorSet;
    schemeColors: HEX[];
}
/**
 * A theme with different color categories for an expanded palette
 * @property brand - The brand color
 * @property primary - The primary color
 * @property secondary - The secondary color
 * @property accent - The accent color
 * @property neutral - The neutral color
 * @property info - The info color
 * @property success - The success color
 * @property warning - The warning color
 * @property error - The error color
 * @property schemeColors - The color scheme colors
 */
interface ExpandedColorTheme {
    brand: ExpandedColorSet;
    primary: ExpandedColorSet;
    secondary: ExpandedColorSet;
    accent: ExpandedColorSet;
    neutral: ExpandedColorSet;
    info: ExpandedColorSet;
    success: ExpandedColorSet;
    warning: ExpandedColorSet;
    error: ExpandedColorSet;
    schemeColors: HEX[];
}
/**
 * A theme with different color categories for a color palette
 * @property brand - The brand color
 * @property primary - The primary color
 * @property secondary - The secondary color
 * @property accent - The accent color
 * @property neutral - The neutral color
 * @property info - The info color
 * @property success - The success color
 */
type ColorTheme = RegularColorTheme | ExpandedColorTheme;

type HSL = [number, number, number];

/**
 * Converts a hexadecimal color code to RGBA format.
 *
 * @param {GetRgbaFromHexOptions} options - The options for converting hex to RGBA.
 * @param {string} options.hexCode - The hexadecimal color code to convert. Can be with or without the '#' prefix.
 * @param {number} [options.alpha=1] - The alpha value for the RGBA color (0 to 1). Defaults to 1 if not provided.
 * @returns {GetRgbaFromHexOutput} An object containing the RGBA color string and individual RGBA values.
 * @throws {Error} If the provided hexCode is invalid.
 *
 * @example
 * getRgbaFromHex({ hexCode: '#FF0000' });
 * // Returns { rgba: 'rgba(255, 0, 0, 1)', r: 255, g: 0, b: 0, a: 1 }
 *
 * getRgbaFromHex({ hexCode: '#00FF00', alpha: 0.5 });
 * // Returns { rgba: 'rgba(0, 255, 0, 0.5)', r: 0, g: 255, b: 0, a: 0.5 }
 *
 * getRgbaFromHex({ hexCode: 'invalid' });
 * // Throws an error: Invalid color
 */
declare function getRgbaFromHex({ hexCode, alpha, }: GetRgbaFromHexOptions): GetRgbaFromHexOutput;
/**
 * Check if a string is a valid RGB color
 * @param rgb - The string to check
 * @returns True if the string is a valid RGB color, false otherwise
 *
 * @example
 * isRgbColor('rgb(255, 0, 0)'); // true
 * isRgbColor('rgb(256, 0, 0)'); // false
 */
declare function isRgbColor(rgb: string): boolean;
/**
 * Check if a string is a valid RGBA color
 * @param rgba - The string to check
 * @returns True if the string is a valid RGBA color, false otherwise
 *
 * @example
 * isRgbaColor('rgba(255, 0, 0, 1)'); // true
 * isRgbaColor('rgba(256, 0, 0, 1)'); // false
 */
declare function isRgbaColor(rgba: string): boolean;
/**
 * Converts an RGB color to a hexadecimal color code.
 *
 * @param {Object} options - The options for converting RGB to hex.
 * @param {number} options.r - The red component of the RGB color (0-255).
 * @param {number} options.g - The green component of the RGB color (0-255).
 * @param {number} options.b - The blue component of the RGB color (0-255).
 * @returns {string} The hexadecimal color code.
 * @throws {Error} If any RGB component is outside the valid range (0-255).
 *
 * @example
 * getHexFromRgb({ r: 255, g: 0, b: 0 });
 * // Returns '#ff0000'
 */
declare function getHexFromRgb({ r, g, b, }: {
    r: number;
    g: number;
    b: number;
}): string;

/**
 * Retrieves the color name from a given hexadecimal color code.
 *
 * @param {GetColorNameFromHexOptions} options - The options object containing the hexadecimal color code.
 * @param {string} options.hexCode - The hexadecimal color code to look up. Can be with or without the '#' prefix.
 * @returns {GetColorNameFromHexOutput} An object containing information about the color:
 *   - hexcode: The input hex code, normalized to lowercase with '#' prefix.
 *   - colorName: The name of the closest matching color.
 *   - isExactMatch: Boolean indicating if an exact match was found.
 *   - shadeHex: The hex code of the closest matching color.
 *   - shadeName: The name of the closest matching color (same as colorName).
 *   - distance: The color distance between the input and the closest match (0 for exact matches).
 *
 * @throws {Error} If unable to find a closest color match.
 *
 * @example
 * const result = getColorNameFromHex({ hexCode: '#FF0000' });
 * // Returns: { hexcode: '#ff0000', colorName: 'Red', isExactMatch: true, shadeHex: '#ff0000', shadeName: 'Red', distance: 0 }
 */
declare function getColorNameFromHex({ hexCode, }: GetColorNameFromHexOptions): GetColorNameFromHexOutput;
/**
 * Retrieves the color name from a given RGB color.
 *
 * @param {Object} options - The options for converting RGB to color name.
 * @param {number} options.r - The red component of the RGB color (0-255).
 * @param {number} options.g - The green component of the RGB color (0-255).
 * @param {number} options.b - The blue component of the RGB color (0-255).
 * @returns {GetColorNameFromHexOutput} An object containing information about the color:
 *   - hexcode: The input hex code, normalized to lowercase with '#' prefix.
 *   - colorName: The name of the closest matching color.
 *   - isExactMatch: Boolean indicating if an exact match was found.
 *   - shadeHex: The hex code of the closest matching color.
 *   - shadeName: The name of the closest matching color (same as colorName).
 *   - distance: The color distance between the input and the closest match (0 for exact matches).
 *
 * @throws {Error} If unable to find a closest color match.
 *
 * @example
 * const result = getColorNameFromRgb({ r: 255, g: 0, b: 0 });
 * // Returns: { hexcode: '#ff0000', colorName: 'Red', isExactMatch: true, shadeHex: '#ff0000', shadeName: 'Red', distance: 0 }
 */
declare function getColorNameFromRgb({ r, g, b, }: {
    r: number;
    g: number;
    b: number;
}): GetColorNameFromHexOutput;
/**
 * Retrieves the color name from a given HSL color.
 *
 * @param {Object} options - The options for converting HSL to color name.
 * @param {number} options.h - The hue component of the HSL color (0-360).
 * @param {number} options.s - The saturation component of the HSL color (0-100).
 * @param {number} options.l - The lightness component of the HSL color (0-100).
 * @returns {GetColorNameFromHexOutput} An object containing information about the color:
 *   - hexcode: The input hex code, normalized to lowercase with '#' prefix.
 *   - colorName: The name of the closest matching color.
 *   - isExactMatch: Boolean indicating if an exact match was found.
 *   - shadeHex: The hex code of the closest matching color.
 *   - shadeName: The name of the closest matching color (same as colorName).
 *   - distance: The color distance between the input and the closest match (0 for exact matches).
 *
 * @throws {Error} If unable to find a closest color match.
 *
 * @example
 * const result = getColorNameFromHsl({ h: 0, s: 100, l: 50 });
 * // Returns: { hexcode: '#ff0000', colorName: 'Red', isExactMatch: true, shadeHex: '#ff0000', shadeName: 'Red', distance: 0 }
 */
declare function getColorNameFromHsl({ h, s, l, }: {
    h: number;
    s: number;
    l: number;
}): GetColorNameFromHexOutput;

/**
 * Get the opposite color for text based on the background color
 * @param {Object} options - The options for determining the opposite color
 * @param {string} options.hexCode - Background color in hex format (e.g., "#RRGGBB")
 * @param {string} [options.darkColor="#000000"] - Optional dark color for text
 * @param {string} [options.lightColor="#FFFFFF"] - Optional light color for text
 * @returns {string} Opposite color for text in hex format
 * @throws {Error} If the provided hexCode is invalid
 *
 * @example
 * const oppositeColor = getOppositeColor({ hexCode: "#FFFFFF" });
 * console.log(oppositeColor); // Outputs: "#000000"
 */
declare function getOppositeColor(hexCode: string, darkColor?: string, lightColor?: string): string;
/**
 * Calculate the contrast ratio between two colors
 * @param hexCode1 First color in hexadecimal format (e.g., "#RRGGBB" or "RRGGBB")
 * @param hexCode2 Second color in hexadecimal format (e.g., "#RRGGBB" or "RRGGBB")
 * @returns The contrast ratio between the two colors (a number between 1 and 21)
 * @throws {Error} If either hexCode1 or hexCode2 is not a valid hexadecimal color code
 *
 * @example
 * const ratio = getContrastRatio("#FFFFFF", "#000000");
 * console.log(ratio); // Outputs: 21
 */
declare function getContrastRatio(hexCode1: string, hexCode2: string): number;
/**
 * Calculate the WCAG 2.0 contrast ratio between two colors
 * @param hexCode1 First color in hexadecimal format (e.g., "#RRGGBB" or "RRGGBB")
 * @param hexCode2 Second color in hexadecimal format (e.g., "#RRGGBB" or "RRGGBB")
 * @returns The WCAG 2.0 contrast ratio between the two colors (a number between 1 and 21)
 * @throws {Error} If either hexCode1 or hexCode2 is not a valid hexadecimal color code
 *
 * @example
 * const ratio = getContrastRatioWCAG20("#FFFFFF", "#000000");
 * console.log(ratio); // Outputs: 21
 */
declare function getContrastRatioWCAG20(hexCode1: string, hexCode2: string): number;
/**
 * Adjusts the saturation based on the lightness and whether the base color is light or dark.
 *
 * @param lightness - The lightness value of the color (0-100)
 * @param baseSaturation - The original saturation of the base color (0-100)
 * @param isLightBase - Whether the base color is considered light
 * @param saturationFactor - The factor by which to adjust the saturation (default is 0.3)
 * @returns The adjusted saturation value (0-100)
 *
 * @example
 * const adjustedSaturation = adjustSaturation(50, 50, true);
 * console.log(adjustedSaturation); // Outputs: 35
 */
declare function adjustSaturation(lightness: number, baseSaturation: number, isLightBase: boolean, saturationFactor?: number): number;
/**
 * Checks if the contrast ratio between two colors meets the WCAG AA standard for normal text
 * @param backgroundColor - The background color in hexadecimal format
 * @param textColor - The text color in hexadecimal format
 * @returns {boolean} - True if the contrast ratio is greater than or equal to 4.5, false otherwise
 * @throws {Error} If either backgroundColor or textColor is not a valid hexadecimal color code
 *
 * @example
 * const isAccessible = checkAccessibility("#FFFFFF", "#000000");
 * console.log(isAccessible); // Outputs: true
 */
declare function checkAccessibility(backgroundColor: HEX, textColor: HEX): boolean;

/**
 * Check if a string is a valid hex color
 * @param hex - The string to check
 * @returns True if the string is a valid hex color, false otherwise
 *
 * @example
 * isHexColor('#FF0000'); // true
 * isHexColor('#FF000000'); // true
 * isHexColor('#GHIJKL'); // false
 */
declare function isHexColor(hex: string): boolean;
/**
 * Adjusts the brightness of a hex color by a given amount.
 * @param hex - The hex color to adjust.
 * @param amount - The amount to adjust the brightness by.
 * @returns The adjusted hex color.
 *
 * @example
 * adjustHexColor('#FF0000', 50); // '#FF7F7F'
 */
declare function adjustHexColor(hex: string, amount: number): HEX;

/**
 * Generates a color theme based on the provided options
 *
 * @template T - Boolean type parameter that determines if the theme palette should be expanded
 * @param {GenerateThemeOptions<T>} options - The options for generating the theme
 * @param {HEX} options.baseColor - The base color to generate the theme from
 * @param {T} [options.expandPalette=false] - Whether to generate an expanded palette with additional shades
 * @param {ColorSchemeType} [options.colorScheme='complementary'] - The type of color scheme to generate
 * @param {number} [options.infoHue=200] - The hue value for info colors
 * @param {number} [options.successHue=120] - The hue value for success colors
 * @param {number} [options.warningHue=40] - The hue value for warning colors
 * @param {number} [options.errorHue=0] - The hue value for error colors
 * @returns {ThemeType<T>} A complete color theme with all color variations
 *
 * @example
 * // Generate a regular theme
 * const regularTheme = generateTheme({
 *   baseColor: '#3498db'
 * });
 *
 * console.log(regularTheme.brand.active);
 * // Please check ColorSet type for more information
 *
 * // Generate an expanded theme
 * const expandedTheme = generateTheme({
 *   baseColor: '#3498db',
 *   expandPalette: true,
 *   colorScheme: 'analogous'
 * });
 *
 * console.log(expandedTheme.brand.palette[500]);
 * // Please check ExpandedColorSet type for more information
 */
declare function generateTheme<T extends boolean = false>({ baseColor, expandPalette, colorScheme, infoHue, successHue, warningHue, errorHue, }: GenerateThemeOptions<T>): ThemeType<T>;
/**
 * Memoized version of generateTheme to improve performance for repeated calls with the same options.
 *
 * @param {GenerateThemeOptions} options - The options for generating the theme.
 * @returns {ColorTheme} The generated theme.
 *
 * @example
 * const memoizedGenerateTheme = memoizedGenerateTheme();
 * const theme1 = memoizedGenerateTheme({ baseColor: '#ff0000', expandPalette: true });
 * const theme2 = memoizedGenerateTheme({ baseColor: '#ff0000', expandPalette: true });
 * console.log(theme1 === theme2); // true
 */
declare const memoizedGenerateTheme: (options: GenerateThemeOptions) => ColorTheme;
/**
 * Exports the theme to CSS Variables on the root element
 *
 * @param {ColorTheme} theme - The theme to export
 * @returns {string[]} The CSS code for the theme
 *
 * @example
 * const theme = generateTheme({ baseColor: '#ff0000', expandPalette: true });
 * exportThemeToCSSVariablesOnly(theme);
 * // returns ['--color-primary-500: #ff0000;']
 */
declare function exportThemeToCSSVariablesOnly(theme: ColorTheme): string[];
/**
 * Exports the theme to CSS Variables on the root element
 *
 * @param {ColorTheme} theme - The theme to export
 * @returns {string} The CSS code for the theme
 *
 * @example
 * const theme = generateTheme({ baseColor: '#ff0000', expandPalette: true });
 * exportThemeToCSS(theme);
 * // returns ':root { --color-primary-500: #ff0000; }'
 */
declare function exportThemeToCSS(theme: ColorTheme): string;

/**
 * Converts a hex color to an HSL color
 * @param hex - The hex color to convert
 * @returns The HSL color
 *
 * @example
 * const hsl = getHSLfromHEX('#FF0000');
 * // Returns [0, 100, 50]
 */
declare function getHSLfromHEX(hex: HEX): HSL;
/**
 * Converts an HSL color to a hex color
 * @param h - The hue of the color
 * @param s - The saturation of the color
 * @param l - The lightness of the color
 * @returns The hex color
 *
 * @example
 * const hex = getHEXfromHSL(0, 100, 50);
 * // Returns '#FF0000'
 */
declare function getHEXfromHSL(h: number, s: number, l: number): HEX;
/**
 * Checks if a string is a valid HSL color
 * @param HSLColor - The string to check
 * @returns True if the string is a valid HSL color, false otherwise
 *
 * @example
 * isHSLColor('hsl(0, 100%, 50%)'); // true
 * isHSLColor('rgb(255, 255, 0)'); // false
 */
declare function isHSLColor(HSLColor: string): boolean;
/**
 * Compares two hex colors via HSL
 * @param color1 - The first hex color
 * @param color2 - The second hex color
 * @param tolerance - The tolerance for the comparison
 * @returns True if the colors are similar, false otherwise
 *
 * @example
 * compareHEXColorsViaHSL('#FF0000', '#00FF00'); // false
 */
declare function compareHEXColorsViaHSL(color1: HEX, color2: HEX, tolerance?: number): boolean;

export { ColorNames, type ColorScheme, type ColorSchemeType, type ColorSet, type ColorTheme, type ExpandedColorSet, type ExpandedColorTheme, type GenerateThemeOptions, type GetColorNameFromHexOptions, type GetColorNameFromHexOutput, type GetRgbaFromHexOptions, type GetRgbaFromHexOutput, type HEX, type HSL, type RegularColorTheme, type ThemeType, adjustHexColor, adjustSaturation, checkAccessibility, compareHEXColorsViaHSL, exportThemeToCSS, exportThemeToCSSVariablesOnly, generateTheme, getColorNameFromHex, getColorNameFromHsl, getColorNameFromRgb, getContrastRatio, getContrastRatioWCAG20, getHEXfromHSL, getHSLfromHEX, getHexFromRgb, getOppositeColor, getRgbaFromHex, isHSLColor, isHexColor, isRgbColor, isRgbaColor, memoizedGenerateTheme };
