import { z } from 'zod';
/**
 * /v2/skins definition
 */
export declare const SkinsDTO: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
    id: z.ZodNumber;
    name: z.ZodString;
    flags: z.ZodArray<z.ZodEnum<{
        ShowInWardrobe: "ShowInWardrobe";
        NoCost: "NoCost";
        HideIfLocked: "HideIfLocked";
        OverrideRarity: "OverrideRarity";
    }>>;
    restrictions: z.ZodArray<z.ZodString>;
    icon: z.ZodString;
    rarity: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"Armor">;
    details: z.ZodObject<{
        /** The armor type (slot). */
        type: z.ZodEnum<{
            Boots: "Boots";
            Gloves: "Gloves";
            Leggings: "Leggings";
            Shoulders: "Shoulders";
            Headgear: "Headgear";
            Chest: "Chest";
            "Aquatic Headgear": "Aquatic Headgear";
        }>;
        /** The armor weight. */
        weight_class: z.ZodEnum<{
            Heavy: "Heavy";
            Medium: "Medium";
            Light: "Light";
            Clothing: "Clothing";
        }>;
        /** An object containing information on default slots and skin overrides.
         * If the array item is null, this means dye cannot be applied to that
         * slot, except if otherwise overriden by non-null values in the overrides array. */
        dye_slots: z.ZodObject<{
            default: z.ZodArray<z.ZodNullable<z.ZodObject<{
                /** The id of the default color. Can be resolved against /v2/colors. */
                color_id: z.ZodNumber;
                /** The type of material. */
                material: z.ZodEnum<{
                    cloth: "cloth";
                    leather: "leather";
                    metal: "metal";
                }>;
            }, z.core.$strict>>>;
            /** Object of race/gender overrides. */
            overrides: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
                /** The id of the default color. Can be resolved against /v2/colors. */
                color_id: z.ZodNumber;
                /** The type of material. */
                material: z.ZodEnum<{
                    cloth: "cloth";
                    leather: "leather";
                    metal: "metal";
                }>;
            }, z.core.$strict>>>;
        }, z.core.$strict>;
    }, z.core.$strict>;
}, z.core.$strict>, z.ZodObject<{
    id: z.ZodNumber;
    name: z.ZodString;
    flags: z.ZodArray<z.ZodEnum<{
        ShowInWardrobe: "ShowInWardrobe";
        NoCost: "NoCost";
        HideIfLocked: "HideIfLocked";
        OverrideRarity: "OverrideRarity";
    }>>;
    restrictions: z.ZodArray<z.ZodString>;
    icon: z.ZodString;
    rarity: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"Gathering">;
    details: z.ZodObject<{
        /** The tool type. */
        type: z.ZodEnum<{
            Foraging: "Foraging";
            Logging: "Logging";
            Mining: "Mining";
        }>;
    }, z.core.$strict>;
}, z.core.$strict>, z.ZodObject<{
    id: z.ZodNumber;
    name: z.ZodString;
    flags: z.ZodArray<z.ZodEnum<{
        ShowInWardrobe: "ShowInWardrobe";
        NoCost: "NoCost";
        HideIfLocked: "HideIfLocked";
        OverrideRarity: "OverrideRarity";
    }>>;
    restrictions: z.ZodArray<z.ZodString>;
    icon: z.ZodString;
    rarity: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
    type: z.ZodLiteral<"Weapon">;
    details: z.ZodObject<{
        /** The weapon type. */
        type: z.ZodEnum<{
            Axe: "Axe";
            Dagger: "Dagger";
            Focus: "Focus";
            Greatsword: "Greatsword";
            Hammer: "Hammer";
            Mace: "Mace";
            Pistol: "Pistol";
            Rifle: "Rifle";
            Scepter: "Scepter";
            Shield: "Shield";
            Staff: "Staff";
            Sword: "Sword";
            Torch: "Torch";
            Trident: "Trident";
            Warhorn: "Warhorn";
            Longbow: "Longbow";
            Spear: "Spear";
            "Short bow": "Short bow";
            "Harpoon gun": "Harpoon gun";
        }>;
        /** The damage type. */
        damage_type: z.ZodEnum<{
            Fire: "Fire";
            Ice: "Ice";
            Lightning: "Lightning";
            Physical: "Physical";
            Choking: "Choking";
        }>;
    }, z.core.$strict>;
}, z.core.$strict>, z.ZodObject<{
    /** The skin id. */
    id: z.ZodNumber;
    /** The name of the skin. */
    name: z.ZodString;
    /**
     * Additional skin flags. Options:
     * ShowInWardrobe – When displayed in the account wardrobe (set for all skins listed in the API).
     * NoCost – When applying the skin is free.
     * HideIfLocked – When the skin is hidden until it is unlocked.
     * OverrideRarity - When the skin overrides item rarity when applied
     */
    flags: z.ZodArray<z.ZodEnum<{
        ShowInWardrobe: "ShowInWardrobe";
        NoCost: "NoCost";
        HideIfLocked: "HideIfLocked";
        OverrideRarity: "OverrideRarity";
    }>>;
    /** Race restrictions that apply to the skin, e.g. Human will be a listed restriction, if the skin can only be applied to human characters. */
    restrictions: z.ZodArray<z.ZodString>;
    /** The full icon URL. */
    icon: z.ZodString;
    /** The rarity of the skin */
    rarity: z.ZodString;
    /** Optional skin description. */
    description: z.ZodOptional<z.ZodString>;
}, z.core.$strict>]>>;
