import { z } from 'zod';
/**
 * /v2/traits definition
 */
export declare const TraitsDTO: z.ZodArray<z.ZodObject<{
    /** The trait id. */
    id: z.ZodNumber;
    /** The trait name. */
    name: z.ZodString;
    /** The trait's icon URL. */
    icon: z.ZodString;
    /** The trait description. */
    description: z.ZodOptional<z.ZodString>;
    /** The trait order. */
    order: z.ZodOptional<z.ZodNumber>;
    /** The id of the specialization this trait belongs to. */
    specialization: z.ZodNumber;
    /** The trait's tier (Adept, Master, Grandmaster) as a value from 1-3.
     * Elite specializations also contain a tier 0 minor trait, describing which weapon the elite specialization gains access to. */
    tier: z.ZodNumber;
    /** Either Major or Minor depending on the trait's slot.
     * Minor traits are the ones given immediately when choosing a specialization. */
    slot: z.ZodEnum<{
        Major: "Major";
        Minor: "Minor";
    }>;
    /** A list of tooltip facts associated with the trait itself. */
    facts: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
        text: z.ZodOptional<z.ZodString>;
        icon: z.ZodOptional<z.ZodString>;
        type: z.ZodLiteral<"AttributeAdjust">;
        value: z.ZodNumber;
        target: z.ZodString;
    }, z.core.$strict>, z.ZodObject<{
        text: z.ZodOptional<z.ZodString>;
        icon: z.ZodOptional<z.ZodString>;
        type: z.ZodLiteral<"Buff">;
        status: z.ZodString;
        description: z.ZodOptional<z.ZodString>;
        apply_count: z.ZodOptional<z.ZodNumber>;
        duration: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strict>, z.ZodObject<{
        text: z.ZodOptional<z.ZodString>;
        icon: z.ZodOptional<z.ZodString>;
        type: z.ZodLiteral<"BuffArray">;
    }, z.core.$strict>, z.ZodObject<{
        text: z.ZodOptional<z.ZodString>;
        icon: z.ZodOptional<z.ZodString>;
        type: z.ZodLiteral<"BuffConversion">;
        source: z.ZodString;
        percent: z.ZodNumber;
        target: z.ZodString;
    }, z.core.$strict>, z.ZodObject<{
        text: z.ZodOptional<z.ZodString>;
        icon: z.ZodOptional<z.ZodString>;
        type: z.ZodLiteral<"ComboField">;
        field_type: z.ZodEnum<{
            Light: "Light";
            Fire: "Fire";
            Ice: "Ice";
            Lightning: "Lightning";
            Air: "Air";
            Water: "Water";
            Dark: "Dark";
            Poison: "Poison";
            Smoke: "Smoke";
            Ethereal: "Ethereal";
        }>;
    }, z.core.$strict>, z.ZodObject<{
        text: z.ZodOptional<z.ZodString>;
        icon: z.ZodOptional<z.ZodString>;
        type: z.ZodLiteral<"ComboFinisher">;
        finisher_type: z.ZodEnum<{
            Blast: "Blast";
            Leap: "Leap";
            Projectile: "Projectile";
            Whirl: "Whirl";
        }>;
        percent: z.ZodNumber;
    }, z.core.$strict>, z.ZodObject<{
        text: z.ZodOptional<z.ZodString>;
        icon: z.ZodOptional<z.ZodString>;
        type: z.ZodLiteral<"Duration">;
        duration: z.ZodNumber;
    }, z.core.$strict>, z.ZodObject<{
        text: z.ZodOptional<z.ZodString>;
        icon: z.ZodOptional<z.ZodString>;
        type: z.ZodLiteral<"Heal">;
        hit_count: z.ZodNumber;
    }, z.core.$strict>, z.ZodObject<{
        text: z.ZodOptional<z.ZodString>;
        icon: z.ZodOptional<z.ZodString>;
        type: z.ZodLiteral<"HealingAdjust">;
        hit_count: z.ZodNumber;
    }, z.core.$strict>, z.ZodObject<{
        text: z.ZodOptional<z.ZodString>;
        icon: z.ZodOptional<z.ZodString>;
        type: z.ZodLiteral<"Damage">;
        hit_count: z.ZodNumber;
        dmg_multiplier: z.ZodNumber;
    }, z.core.$strict>, z.ZodObject<{
        text: z.ZodOptional<z.ZodString>;
        icon: z.ZodOptional<z.ZodString>;
        type: z.ZodLiteral<"Distance">;
        distance: z.ZodNumber;
    }, z.core.$strict>, z.ZodObject<{
        text: z.ZodOptional<z.ZodString>;
        icon: z.ZodOptional<z.ZodString>;
        type: z.ZodLiteral<"NoData">;
    }, z.core.$strict>, z.ZodObject<{
        text: z.ZodOptional<z.ZodString>;
        icon: z.ZodOptional<z.ZodString>;
        type: z.ZodLiteral<"Number">;
        value: z.ZodNumber;
    }, z.core.$strict>, z.ZodObject<{
        text: z.ZodOptional<z.ZodString>;
        icon: z.ZodOptional<z.ZodString>;
        type: z.ZodLiteral<"Percent">;
        percent: z.ZodNumber;
    }, z.core.$strict>, z.ZodObject<{
        text: z.ZodOptional<z.ZodString>;
        icon: z.ZodOptional<z.ZodString>;
        type: z.ZodLiteral<"PrefixedBuff">;
        status: z.ZodOptional<z.ZodString>;
        description: z.ZodOptional<z.ZodString>;
        apply_count: z.ZodNumber;
        duration: z.ZodNumber;
        prefix: z.ZodObject<{
            text: z.ZodString;
            icon: z.ZodURL;
            status: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
        }, z.core.$strict>;
    }, z.core.$strict>, z.ZodObject<{
        text: z.ZodOptional<z.ZodString>;
        icon: z.ZodOptional<z.ZodString>;
        type: z.ZodLiteral<"Radius">;
        distance: z.ZodNumber;
    }, z.core.$strict>, z.ZodObject<{
        text: z.ZodOptional<z.ZodString>;
        icon: z.ZodOptional<z.ZodString>;
        type: z.ZodLiteral<"Range">;
        value: z.ZodNumber;
    }, z.core.$strict>, z.ZodObject<{
        text: z.ZodOptional<z.ZodString>;
        icon: z.ZodOptional<z.ZodString>;
        type: z.ZodLiteral<"Recharge">;
        value: z.ZodNumber;
    }, z.core.$strict>, z.ZodObject<{
        text: z.ZodOptional<z.ZodString>;
        icon: z.ZodOptional<z.ZodString>;
        type: z.ZodLiteral<"StunBreak">;
        value: z.ZodLiteral<true>;
    }, z.core.$strict>, z.ZodObject<{
        text: z.ZodOptional<z.ZodString>;
        icon: z.ZodOptional<z.ZodString>;
        type: z.ZodLiteral<"Time">;
        duration: z.ZodNumber;
    }, z.core.$strict>, z.ZodObject<{
        text: z.ZodOptional<z.ZodString>;
        icon: z.ZodOptional<z.ZodString>;
        type: z.ZodLiteral<"Unblockable">;
        value: z.ZodLiteral<true>;
    }, z.core.$strict>, z.ZodObject<{
        text: z.ZodOptional<z.ZodString>;
        icon: z.ZodOptional<z.ZodString>;
        type: z.ZodUndefined;
        percent: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strict>]>>>;
    /** A list of additions or changes to tooltip facts where there is interplay between traits. */
    traited_facts: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
        type: z.ZodLiteral<"AttributeAdjust">;
        value: z.ZodNumber;
        target: z.ZodString;
        text: z.ZodOptional<z.ZodString>;
        icon: z.ZodOptional<z.ZodString>;
        /** Specifies which trait has to be selected in order for this fact to take effect. */
        requires_trait: z.ZodNumber;
        /** This specifies the array index of the facts object it will override, if the trait specified in requires_trait is selected.
         * If this field is omitted, then the fact contained within this object is to be appended to the existing facts array. */
        overrides: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strict>, z.ZodObject<{
        type: z.ZodLiteral<"Buff">;
        status: z.ZodString;
        description: z.ZodOptional<z.ZodString>;
        apply_count: z.ZodOptional<z.ZodNumber>;
        duration: z.ZodOptional<z.ZodNumber>;
        text: z.ZodOptional<z.ZodString>;
        icon: z.ZodOptional<z.ZodString>;
        /** Specifies which trait has to be selected in order for this fact to take effect. */
        requires_trait: z.ZodNumber;
        /** This specifies the array index of the facts object it will override, if the trait specified in requires_trait is selected.
         * If this field is omitted, then the fact contained within this object is to be appended to the existing facts array. */
        overrides: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strict>, z.ZodObject<{
        type: z.ZodLiteral<"BuffArray">;
        text: z.ZodOptional<z.ZodString>;
        icon: z.ZodOptional<z.ZodString>;
        /** Specifies which trait has to be selected in order for this fact to take effect. */
        requires_trait: z.ZodNumber;
        /** This specifies the array index of the facts object it will override, if the trait specified in requires_trait is selected.
         * If this field is omitted, then the fact contained within this object is to be appended to the existing facts array. */
        overrides: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strict>, z.ZodObject<{
        type: z.ZodLiteral<"BuffConversion">;
        source: z.ZodString;
        percent: z.ZodNumber;
        target: z.ZodString;
        text: z.ZodOptional<z.ZodString>;
        icon: z.ZodOptional<z.ZodString>;
        /** Specifies which trait has to be selected in order for this fact to take effect. */
        requires_trait: z.ZodNumber;
        /** This specifies the array index of the facts object it will override, if the trait specified in requires_trait is selected.
         * If this field is omitted, then the fact contained within this object is to be appended to the existing facts array. */
        overrides: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strict>, z.ZodObject<{
        type: z.ZodLiteral<"ComboField">;
        field_type: z.ZodEnum<{
            Light: "Light";
            Fire: "Fire";
            Ice: "Ice";
            Lightning: "Lightning";
            Air: "Air";
            Water: "Water";
            Dark: "Dark";
            Poison: "Poison";
            Smoke: "Smoke";
            Ethereal: "Ethereal";
        }>;
        text: z.ZodOptional<z.ZodString>;
        icon: z.ZodOptional<z.ZodString>;
        /** Specifies which trait has to be selected in order for this fact to take effect. */
        requires_trait: z.ZodNumber;
        /** This specifies the array index of the facts object it will override, if the trait specified in requires_trait is selected.
         * If this field is omitted, then the fact contained within this object is to be appended to the existing facts array. */
        overrides: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strict>, z.ZodObject<{
        type: z.ZodLiteral<"ComboFinisher">;
        finisher_type: z.ZodEnum<{
            Blast: "Blast";
            Leap: "Leap";
            Projectile: "Projectile";
            Whirl: "Whirl";
        }>;
        percent: z.ZodNumber;
        text: z.ZodOptional<z.ZodString>;
        icon: z.ZodOptional<z.ZodString>;
        /** Specifies which trait has to be selected in order for this fact to take effect. */
        requires_trait: z.ZodNumber;
        /** This specifies the array index of the facts object it will override, if the trait specified in requires_trait is selected.
         * If this field is omitted, then the fact contained within this object is to be appended to the existing facts array. */
        overrides: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strict>, z.ZodObject<{
        type: z.ZodLiteral<"Duration">;
        duration: z.ZodNumber;
        text: z.ZodOptional<z.ZodString>;
        icon: z.ZodOptional<z.ZodString>;
        /** Specifies which trait has to be selected in order for this fact to take effect. */
        requires_trait: z.ZodNumber;
        /** This specifies the array index of the facts object it will override, if the trait specified in requires_trait is selected.
         * If this field is omitted, then the fact contained within this object is to be appended to the existing facts array. */
        overrides: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strict>, z.ZodObject<{
        type: z.ZodLiteral<"Heal">;
        hit_count: z.ZodNumber;
        text: z.ZodOptional<z.ZodString>;
        icon: z.ZodOptional<z.ZodString>;
        /** Specifies which trait has to be selected in order for this fact to take effect. */
        requires_trait: z.ZodNumber;
        /** This specifies the array index of the facts object it will override, if the trait specified in requires_trait is selected.
         * If this field is omitted, then the fact contained within this object is to be appended to the existing facts array. */
        overrides: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strict>, z.ZodObject<{
        type: z.ZodLiteral<"HealingAdjust">;
        hit_count: z.ZodNumber;
        text: z.ZodOptional<z.ZodString>;
        icon: z.ZodOptional<z.ZodString>;
        /** Specifies which trait has to be selected in order for this fact to take effect. */
        requires_trait: z.ZodNumber;
        /** This specifies the array index of the facts object it will override, if the trait specified in requires_trait is selected.
         * If this field is omitted, then the fact contained within this object is to be appended to the existing facts array. */
        overrides: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strict>, z.ZodObject<{
        type: z.ZodLiteral<"Damage">;
        hit_count: z.ZodNumber;
        dmg_multiplier: z.ZodNumber;
        text: z.ZodOptional<z.ZodString>;
        icon: z.ZodOptional<z.ZodString>;
        /** Specifies which trait has to be selected in order for this fact to take effect. */
        requires_trait: z.ZodNumber;
        /** This specifies the array index of the facts object it will override, if the trait specified in requires_trait is selected.
         * If this field is omitted, then the fact contained within this object is to be appended to the existing facts array. */
        overrides: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strict>, z.ZodObject<{
        type: z.ZodLiteral<"Distance">;
        distance: z.ZodNumber;
        text: z.ZodOptional<z.ZodString>;
        icon: z.ZodOptional<z.ZodString>;
        /** Specifies which trait has to be selected in order for this fact to take effect. */
        requires_trait: z.ZodNumber;
        /** This specifies the array index of the facts object it will override, if the trait specified in requires_trait is selected.
         * If this field is omitted, then the fact contained within this object is to be appended to the existing facts array. */
        overrides: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strict>, z.ZodObject<{
        type: z.ZodLiteral<"NoData">;
        text: z.ZodOptional<z.ZodString>;
        icon: z.ZodOptional<z.ZodString>;
        /** Specifies which trait has to be selected in order for this fact to take effect. */
        requires_trait: z.ZodNumber;
        /** This specifies the array index of the facts object it will override, if the trait specified in requires_trait is selected.
         * If this field is omitted, then the fact contained within this object is to be appended to the existing facts array. */
        overrides: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strict>, z.ZodObject<{
        type: z.ZodLiteral<"Number">;
        value: z.ZodNumber;
        text: z.ZodOptional<z.ZodString>;
        icon: z.ZodOptional<z.ZodString>;
        /** Specifies which trait has to be selected in order for this fact to take effect. */
        requires_trait: z.ZodNumber;
        /** This specifies the array index of the facts object it will override, if the trait specified in requires_trait is selected.
         * If this field is omitted, then the fact contained within this object is to be appended to the existing facts array. */
        overrides: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strict>, z.ZodObject<{
        type: z.ZodLiteral<"Percent">;
        percent: z.ZodNumber;
        text: z.ZodOptional<z.ZodString>;
        icon: z.ZodOptional<z.ZodString>;
        /** Specifies which trait has to be selected in order for this fact to take effect. */
        requires_trait: z.ZodNumber;
        /** This specifies the array index of the facts object it will override, if the trait specified in requires_trait is selected.
         * If this field is omitted, then the fact contained within this object is to be appended to the existing facts array. */
        overrides: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strict>, z.ZodObject<{
        type: z.ZodLiteral<"PrefixedBuff">;
        status: z.ZodOptional<z.ZodString>;
        description: z.ZodOptional<z.ZodString>;
        apply_count: z.ZodNumber;
        duration: z.ZodNumber;
        prefix: z.ZodObject<{
            text: z.ZodString;
            icon: z.ZodURL;
            status: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
        }, z.core.$strict>;
        text: z.ZodOptional<z.ZodString>;
        icon: z.ZodOptional<z.ZodString>;
        /** Specifies which trait has to be selected in order for this fact to take effect. */
        requires_trait: z.ZodNumber;
        /** This specifies the array index of the facts object it will override, if the trait specified in requires_trait is selected.
         * If this field is omitted, then the fact contained within this object is to be appended to the existing facts array. */
        overrides: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strict>, z.ZodObject<{
        type: z.ZodLiteral<"Radius">;
        distance: z.ZodNumber;
        text: z.ZodOptional<z.ZodString>;
        icon: z.ZodOptional<z.ZodString>;
        /** Specifies which trait has to be selected in order for this fact to take effect. */
        requires_trait: z.ZodNumber;
        /** This specifies the array index of the facts object it will override, if the trait specified in requires_trait is selected.
         * If this field is omitted, then the fact contained within this object is to be appended to the existing facts array. */
        overrides: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strict>, z.ZodObject<{
        type: z.ZodLiteral<"Range">;
        value: z.ZodNumber;
        text: z.ZodOptional<z.ZodString>;
        icon: z.ZodOptional<z.ZodString>;
        /** Specifies which trait has to be selected in order for this fact to take effect. */
        requires_trait: z.ZodNumber;
        /** This specifies the array index of the facts object it will override, if the trait specified in requires_trait is selected.
         * If this field is omitted, then the fact contained within this object is to be appended to the existing facts array. */
        overrides: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strict>, z.ZodObject<{
        type: z.ZodLiteral<"Recharge">;
        value: z.ZodNumber;
        text: z.ZodOptional<z.ZodString>;
        icon: z.ZodOptional<z.ZodString>;
        /** Specifies which trait has to be selected in order for this fact to take effect. */
        requires_trait: z.ZodNumber;
        /** This specifies the array index of the facts object it will override, if the trait specified in requires_trait is selected.
         * If this field is omitted, then the fact contained within this object is to be appended to the existing facts array. */
        overrides: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strict>, z.ZodObject<{
        type: z.ZodLiteral<"StunBreak">;
        value: z.ZodLiteral<true>;
        text: z.ZodOptional<z.ZodString>;
        icon: z.ZodOptional<z.ZodString>;
        /** Specifies which trait has to be selected in order for this fact to take effect. */
        requires_trait: z.ZodNumber;
        /** This specifies the array index of the facts object it will override, if the trait specified in requires_trait is selected.
         * If this field is omitted, then the fact contained within this object is to be appended to the existing facts array. */
        overrides: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strict>, z.ZodObject<{
        type: z.ZodLiteral<"Time">;
        duration: z.ZodNumber;
        text: z.ZodOptional<z.ZodString>;
        icon: z.ZodOptional<z.ZodString>;
        /** Specifies which trait has to be selected in order for this fact to take effect. */
        requires_trait: z.ZodNumber;
        /** This specifies the array index of the facts object it will override, if the trait specified in requires_trait is selected.
         * If this field is omitted, then the fact contained within this object is to be appended to the existing facts array. */
        overrides: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strict>, z.ZodObject<{
        type: z.ZodLiteral<"Unblockable">;
        value: z.ZodLiteral<true>;
        text: z.ZodOptional<z.ZodString>;
        icon: z.ZodOptional<z.ZodString>;
        /** Specifies which trait has to be selected in order for this fact to take effect. */
        requires_trait: z.ZodNumber;
        /** This specifies the array index of the facts object it will override, if the trait specified in requires_trait is selected.
         * If this field is omitted, then the fact contained within this object is to be appended to the existing facts array. */
        overrides: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strict>, z.ZodObject<{
        /** Life force cost specifically is missing a type field. */
        type: z.ZodUndefined;
        /** Cost per cast. Life Force ONLY. */
        percent: z.ZodOptional<z.ZodNumber>;
        /** Specifies which trait has to be selected in order for this fact to take effect. */
        requires_trait: z.ZodNumber;
        /** This specifies the array index of the facts object it will override, if the trait specified in requires_trait is selected.
         * If this field is omitted, then the fact contained within this object is to be appended to the existing facts array. */
        overrides: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strict>, z.ZodObject<{
        /** An arbitrary localized string describing the fact.*/
        text: z.ZodOptional<z.ZodString>;
        /** A URL to the icon shown with the fact. Not included with all facts.*/
        icon: z.ZodOptional<z.ZodString>;
        /** Specifies which trait has to be selected in order for this fact to take effect. */
        requires_trait: z.ZodNumber;
        /** This specifies the array index of the facts object it will override, if the trait specified in requires_trait is selected.
         * If this field is omitted, then the fact contained within this object is to be appended to the existing facts array. */
        overrides: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strict>]>>>;
    /** A list of skills which may be triggered by the trait. */
    skills: z.ZodOptional<z.ZodArray<z.ZodObject<{
        /** The ID of the skill. */
        id: z.ZodNumber;
        /** The name of the skill. */
        name: z.ZodString;
        /** The description of the skill. */
        description: z.ZodString;
        /** The URL for the icon of the skill. */
        icon: z.ZodString;
        /** A list of tooltip facts associated with the skill. */
        facts: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
            text: z.ZodOptional<z.ZodString>;
            icon: z.ZodOptional<z.ZodString>;
            type: z.ZodLiteral<"AttributeAdjust">;
            value: z.ZodNumber;
            target: z.ZodString;
        }, z.core.$strict>, z.ZodObject<{
            text: z.ZodOptional<z.ZodString>;
            icon: z.ZodOptional<z.ZodString>;
            type: z.ZodLiteral<"Buff">;
            status: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            apply_count: z.ZodOptional<z.ZodNumber>;
            duration: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strict>, z.ZodObject<{
            text: z.ZodOptional<z.ZodString>;
            icon: z.ZodOptional<z.ZodString>;
            type: z.ZodLiteral<"BuffArray">;
        }, z.core.$strict>, z.ZodObject<{
            text: z.ZodOptional<z.ZodString>;
            icon: z.ZodOptional<z.ZodString>;
            type: z.ZodLiteral<"BuffConversion">;
            source: z.ZodString;
            percent: z.ZodNumber;
            target: z.ZodString;
        }, z.core.$strict>, z.ZodObject<{
            text: z.ZodOptional<z.ZodString>;
            icon: z.ZodOptional<z.ZodString>;
            type: z.ZodLiteral<"ComboField">;
            field_type: z.ZodEnum<{
                Light: "Light";
                Fire: "Fire";
                Ice: "Ice";
                Lightning: "Lightning";
                Air: "Air";
                Water: "Water";
                Dark: "Dark";
                Poison: "Poison";
                Smoke: "Smoke";
                Ethereal: "Ethereal";
            }>;
        }, z.core.$strict>, z.ZodObject<{
            text: z.ZodOptional<z.ZodString>;
            icon: z.ZodOptional<z.ZodString>;
            type: z.ZodLiteral<"ComboFinisher">;
            finisher_type: z.ZodEnum<{
                Blast: "Blast";
                Leap: "Leap";
                Projectile: "Projectile";
                Whirl: "Whirl";
            }>;
            percent: z.ZodNumber;
        }, z.core.$strict>, z.ZodObject<{
            text: z.ZodOptional<z.ZodString>;
            icon: z.ZodOptional<z.ZodString>;
            type: z.ZodLiteral<"Duration">;
            duration: z.ZodNumber;
        }, z.core.$strict>, z.ZodObject<{
            text: z.ZodOptional<z.ZodString>;
            icon: z.ZodOptional<z.ZodString>;
            type: z.ZodLiteral<"Heal">;
            hit_count: z.ZodNumber;
        }, z.core.$strict>, z.ZodObject<{
            text: z.ZodOptional<z.ZodString>;
            icon: z.ZodOptional<z.ZodString>;
            type: z.ZodLiteral<"HealingAdjust">;
            hit_count: z.ZodNumber;
        }, z.core.$strict>, z.ZodObject<{
            text: z.ZodOptional<z.ZodString>;
            icon: z.ZodOptional<z.ZodString>;
            type: z.ZodLiteral<"Damage">;
            hit_count: z.ZodNumber;
            dmg_multiplier: z.ZodNumber;
        }, z.core.$strict>, z.ZodObject<{
            text: z.ZodOptional<z.ZodString>;
            icon: z.ZodOptional<z.ZodString>;
            type: z.ZodLiteral<"Distance">;
            distance: z.ZodNumber;
        }, z.core.$strict>, z.ZodObject<{
            text: z.ZodOptional<z.ZodString>;
            icon: z.ZodOptional<z.ZodString>;
            type: z.ZodLiteral<"NoData">;
        }, z.core.$strict>, z.ZodObject<{
            text: z.ZodOptional<z.ZodString>;
            icon: z.ZodOptional<z.ZodString>;
            type: z.ZodLiteral<"Number">;
            value: z.ZodNumber;
        }, z.core.$strict>, z.ZodObject<{
            text: z.ZodOptional<z.ZodString>;
            icon: z.ZodOptional<z.ZodString>;
            type: z.ZodLiteral<"Percent">;
            percent: z.ZodNumber;
        }, z.core.$strict>, z.ZodObject<{
            text: z.ZodOptional<z.ZodString>;
            icon: z.ZodOptional<z.ZodString>;
            type: z.ZodLiteral<"PrefixedBuff">;
            status: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
            apply_count: z.ZodNumber;
            duration: z.ZodNumber;
            prefix: z.ZodObject<{
                text: z.ZodString;
                icon: z.ZodURL;
                status: z.ZodOptional<z.ZodString>;
                description: z.ZodOptional<z.ZodString>;
            }, z.core.$strict>;
        }, z.core.$strict>, z.ZodObject<{
            text: z.ZodOptional<z.ZodString>;
            icon: z.ZodOptional<z.ZodString>;
            type: z.ZodLiteral<"Radius">;
            distance: z.ZodNumber;
        }, z.core.$strict>, z.ZodObject<{
            text: z.ZodOptional<z.ZodString>;
            icon: z.ZodOptional<z.ZodString>;
            type: z.ZodLiteral<"Range">;
            value: z.ZodNumber;
        }, z.core.$strict>, z.ZodObject<{
            text: z.ZodOptional<z.ZodString>;
            icon: z.ZodOptional<z.ZodString>;
            type: z.ZodLiteral<"Recharge">;
            value: z.ZodNumber;
        }, z.core.$strict>, z.ZodObject<{
            text: z.ZodOptional<z.ZodString>;
            icon: z.ZodOptional<z.ZodString>;
            type: z.ZodLiteral<"StunBreak">;
            value: z.ZodLiteral<true>;
        }, z.core.$strict>, z.ZodObject<{
            text: z.ZodOptional<z.ZodString>;
            icon: z.ZodOptional<z.ZodString>;
            type: z.ZodLiteral<"Time">;
            duration: z.ZodNumber;
        }, z.core.$strict>, z.ZodObject<{
            text: z.ZodOptional<z.ZodString>;
            icon: z.ZodOptional<z.ZodString>;
            type: z.ZodLiteral<"Unblockable">;
            value: z.ZodLiteral<true>;
        }, z.core.$strict>, z.ZodObject<{
            text: z.ZodOptional<z.ZodString>;
            icon: z.ZodOptional<z.ZodString>;
            type: z.ZodUndefined;
            percent: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strict>]>>>;
        /** A list of additions or changes to tooltip facts where there is interplay between traits. */
        traited_facts: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
            type: z.ZodLiteral<"AttributeAdjust">;
            value: z.ZodNumber;
            target: z.ZodString;
            text: z.ZodOptional<z.ZodString>;
            icon: z.ZodOptional<z.ZodString>;
            /** Specifies which trait has to be selected in order for this fact to take effect. */
            requires_trait: z.ZodNumber;
            /** This specifies the array index of the facts object it will override, if the trait specified in requires_trait is selected.
             * If this field is omitted, then the fact contained within this object is to be appended to the existing facts array. */
            overrides: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strict>, z.ZodObject<{
            type: z.ZodLiteral<"Buff">;
            status: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            apply_count: z.ZodOptional<z.ZodNumber>;
            duration: z.ZodOptional<z.ZodNumber>;
            text: z.ZodOptional<z.ZodString>;
            icon: z.ZodOptional<z.ZodString>;
            /** Specifies which trait has to be selected in order for this fact to take effect. */
            requires_trait: z.ZodNumber;
            /** This specifies the array index of the facts object it will override, if the trait specified in requires_trait is selected.
             * If this field is omitted, then the fact contained within this object is to be appended to the existing facts array. */
            overrides: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strict>, z.ZodObject<{
            type: z.ZodLiteral<"BuffArray">;
            text: z.ZodOptional<z.ZodString>;
            icon: z.ZodOptional<z.ZodString>;
            /** Specifies which trait has to be selected in order for this fact to take effect. */
            requires_trait: z.ZodNumber;
            /** This specifies the array index of the facts object it will override, if the trait specified in requires_trait is selected.
             * If this field is omitted, then the fact contained within this object is to be appended to the existing facts array. */
            overrides: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strict>, z.ZodObject<{
            type: z.ZodLiteral<"BuffConversion">;
            source: z.ZodString;
            percent: z.ZodNumber;
            target: z.ZodString;
            text: z.ZodOptional<z.ZodString>;
            icon: z.ZodOptional<z.ZodString>;
            /** Specifies which trait has to be selected in order for this fact to take effect. */
            requires_trait: z.ZodNumber;
            /** This specifies the array index of the facts object it will override, if the trait specified in requires_trait is selected.
             * If this field is omitted, then the fact contained within this object is to be appended to the existing facts array. */
            overrides: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strict>, z.ZodObject<{
            type: z.ZodLiteral<"ComboField">;
            field_type: z.ZodEnum<{
                Light: "Light";
                Fire: "Fire";
                Ice: "Ice";
                Lightning: "Lightning";
                Air: "Air";
                Water: "Water";
                Dark: "Dark";
                Poison: "Poison";
                Smoke: "Smoke";
                Ethereal: "Ethereal";
            }>;
            text: z.ZodOptional<z.ZodString>;
            icon: z.ZodOptional<z.ZodString>;
            /** Specifies which trait has to be selected in order for this fact to take effect. */
            requires_trait: z.ZodNumber;
            /** This specifies the array index of the facts object it will override, if the trait specified in requires_trait is selected.
             * If this field is omitted, then the fact contained within this object is to be appended to the existing facts array. */
            overrides: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strict>, z.ZodObject<{
            type: z.ZodLiteral<"ComboFinisher">;
            finisher_type: z.ZodEnum<{
                Blast: "Blast";
                Leap: "Leap";
                Projectile: "Projectile";
                Whirl: "Whirl";
            }>;
            percent: z.ZodNumber;
            text: z.ZodOptional<z.ZodString>;
            icon: z.ZodOptional<z.ZodString>;
            /** Specifies which trait has to be selected in order for this fact to take effect. */
            requires_trait: z.ZodNumber;
            /** This specifies the array index of the facts object it will override, if the trait specified in requires_trait is selected.
             * If this field is omitted, then the fact contained within this object is to be appended to the existing facts array. */
            overrides: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strict>, z.ZodObject<{
            type: z.ZodLiteral<"Duration">;
            duration: z.ZodNumber;
            text: z.ZodOptional<z.ZodString>;
            icon: z.ZodOptional<z.ZodString>;
            /** Specifies which trait has to be selected in order for this fact to take effect. */
            requires_trait: z.ZodNumber;
            /** This specifies the array index of the facts object it will override, if the trait specified in requires_trait is selected.
             * If this field is omitted, then the fact contained within this object is to be appended to the existing facts array. */
            overrides: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strict>, z.ZodObject<{
            type: z.ZodLiteral<"Heal">;
            hit_count: z.ZodNumber;
            text: z.ZodOptional<z.ZodString>;
            icon: z.ZodOptional<z.ZodString>;
            /** Specifies which trait has to be selected in order for this fact to take effect. */
            requires_trait: z.ZodNumber;
            /** This specifies the array index of the facts object it will override, if the trait specified in requires_trait is selected.
             * If this field is omitted, then the fact contained within this object is to be appended to the existing facts array. */
            overrides: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strict>, z.ZodObject<{
            type: z.ZodLiteral<"HealingAdjust">;
            hit_count: z.ZodNumber;
            text: z.ZodOptional<z.ZodString>;
            icon: z.ZodOptional<z.ZodString>;
            /** Specifies which trait has to be selected in order for this fact to take effect. */
            requires_trait: z.ZodNumber;
            /** This specifies the array index of the facts object it will override, if the trait specified in requires_trait is selected.
             * If this field is omitted, then the fact contained within this object is to be appended to the existing facts array. */
            overrides: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strict>, z.ZodObject<{
            type: z.ZodLiteral<"Damage">;
            hit_count: z.ZodNumber;
            dmg_multiplier: z.ZodNumber;
            text: z.ZodOptional<z.ZodString>;
            icon: z.ZodOptional<z.ZodString>;
            /** Specifies which trait has to be selected in order for this fact to take effect. */
            requires_trait: z.ZodNumber;
            /** This specifies the array index of the facts object it will override, if the trait specified in requires_trait is selected.
             * If this field is omitted, then the fact contained within this object is to be appended to the existing facts array. */
            overrides: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strict>, z.ZodObject<{
            type: z.ZodLiteral<"Distance">;
            distance: z.ZodNumber;
            text: z.ZodOptional<z.ZodString>;
            icon: z.ZodOptional<z.ZodString>;
            /** Specifies which trait has to be selected in order for this fact to take effect. */
            requires_trait: z.ZodNumber;
            /** This specifies the array index of the facts object it will override, if the trait specified in requires_trait is selected.
             * If this field is omitted, then the fact contained within this object is to be appended to the existing facts array. */
            overrides: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strict>, z.ZodObject<{
            type: z.ZodLiteral<"NoData">;
            text: z.ZodOptional<z.ZodString>;
            icon: z.ZodOptional<z.ZodString>;
            /** Specifies which trait has to be selected in order for this fact to take effect. */
            requires_trait: z.ZodNumber;
            /** This specifies the array index of the facts object it will override, if the trait specified in requires_trait is selected.
             * If this field is omitted, then the fact contained within this object is to be appended to the existing facts array. */
            overrides: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strict>, z.ZodObject<{
            type: z.ZodLiteral<"Number">;
            value: z.ZodNumber;
            text: z.ZodOptional<z.ZodString>;
            icon: z.ZodOptional<z.ZodString>;
            /** Specifies which trait has to be selected in order for this fact to take effect. */
            requires_trait: z.ZodNumber;
            /** This specifies the array index of the facts object it will override, if the trait specified in requires_trait is selected.
             * If this field is omitted, then the fact contained within this object is to be appended to the existing facts array. */
            overrides: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strict>, z.ZodObject<{
            type: z.ZodLiteral<"Percent">;
            percent: z.ZodNumber;
            text: z.ZodOptional<z.ZodString>;
            icon: z.ZodOptional<z.ZodString>;
            /** Specifies which trait has to be selected in order for this fact to take effect. */
            requires_trait: z.ZodNumber;
            /** This specifies the array index of the facts object it will override, if the trait specified in requires_trait is selected.
             * If this field is omitted, then the fact contained within this object is to be appended to the existing facts array. */
            overrides: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strict>, z.ZodObject<{
            type: z.ZodLiteral<"PrefixedBuff">;
            status: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
            apply_count: z.ZodNumber;
            duration: z.ZodNumber;
            prefix: z.ZodObject<{
                text: z.ZodString;
                icon: z.ZodURL;
                status: z.ZodOptional<z.ZodString>;
                description: z.ZodOptional<z.ZodString>;
            }, z.core.$strict>;
            text: z.ZodOptional<z.ZodString>;
            icon: z.ZodOptional<z.ZodString>;
            /** Specifies which trait has to be selected in order for this fact to take effect. */
            requires_trait: z.ZodNumber;
            /** This specifies the array index of the facts object it will override, if the trait specified in requires_trait is selected.
             * If this field is omitted, then the fact contained within this object is to be appended to the existing facts array. */
            overrides: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strict>, z.ZodObject<{
            type: z.ZodLiteral<"Radius">;
            distance: z.ZodNumber;
            text: z.ZodOptional<z.ZodString>;
            icon: z.ZodOptional<z.ZodString>;
            /** Specifies which trait has to be selected in order for this fact to take effect. */
            requires_trait: z.ZodNumber;
            /** This specifies the array index of the facts object it will override, if the trait specified in requires_trait is selected.
             * If this field is omitted, then the fact contained within this object is to be appended to the existing facts array. */
            overrides: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strict>, z.ZodObject<{
            type: z.ZodLiteral<"Range">;
            value: z.ZodNumber;
            text: z.ZodOptional<z.ZodString>;
            icon: z.ZodOptional<z.ZodString>;
            /** Specifies which trait has to be selected in order for this fact to take effect. */
            requires_trait: z.ZodNumber;
            /** This specifies the array index of the facts object it will override, if the trait specified in requires_trait is selected.
             * If this field is omitted, then the fact contained within this object is to be appended to the existing facts array. */
            overrides: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strict>, z.ZodObject<{
            type: z.ZodLiteral<"Recharge">;
            value: z.ZodNumber;
            text: z.ZodOptional<z.ZodString>;
            icon: z.ZodOptional<z.ZodString>;
            /** Specifies which trait has to be selected in order for this fact to take effect. */
            requires_trait: z.ZodNumber;
            /** This specifies the array index of the facts object it will override, if the trait specified in requires_trait is selected.
             * If this field is omitted, then the fact contained within this object is to be appended to the existing facts array. */
            overrides: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strict>, z.ZodObject<{
            type: z.ZodLiteral<"StunBreak">;
            value: z.ZodLiteral<true>;
            text: z.ZodOptional<z.ZodString>;
            icon: z.ZodOptional<z.ZodString>;
            /** Specifies which trait has to be selected in order for this fact to take effect. */
            requires_trait: z.ZodNumber;
            /** This specifies the array index of the facts object it will override, if the trait specified in requires_trait is selected.
             * If this field is omitted, then the fact contained within this object is to be appended to the existing facts array. */
            overrides: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strict>, z.ZodObject<{
            type: z.ZodLiteral<"Time">;
            duration: z.ZodNumber;
            text: z.ZodOptional<z.ZodString>;
            icon: z.ZodOptional<z.ZodString>;
            /** Specifies which trait has to be selected in order for this fact to take effect. */
            requires_trait: z.ZodNumber;
            /** This specifies the array index of the facts object it will override, if the trait specified in requires_trait is selected.
             * If this field is omitted, then the fact contained within this object is to be appended to the existing facts array. */
            overrides: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strict>, z.ZodObject<{
            type: z.ZodLiteral<"Unblockable">;
            value: z.ZodLiteral<true>;
            text: z.ZodOptional<z.ZodString>;
            icon: z.ZodOptional<z.ZodString>;
            /** Specifies which trait has to be selected in order for this fact to take effect. */
            requires_trait: z.ZodNumber;
            /** This specifies the array index of the facts object it will override, if the trait specified in requires_trait is selected.
             * If this field is omitted, then the fact contained within this object is to be appended to the existing facts array. */
            overrides: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strict>, z.ZodObject<{
            /** Life force cost specifically is missing a type field. */
            type: z.ZodUndefined;
            /** Cost per cast. Life Force ONLY. */
            percent: z.ZodOptional<z.ZodNumber>;
            /** Specifies which trait has to be selected in order for this fact to take effect. */
            requires_trait: z.ZodNumber;
            /** This specifies the array index of the facts object it will override, if the trait specified in requires_trait is selected.
             * If this field is omitted, then the fact contained within this object is to be appended to the existing facts array. */
            overrides: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strict>, z.ZodObject<{
            /** An arbitrary localized string describing the fact.*/
            text: z.ZodOptional<z.ZodString>;
            /** A URL to the icon shown with the fact. Not included with all facts.*/
            icon: z.ZodOptional<z.ZodString>;
            /** Specifies which trait has to be selected in order for this fact to take effect. */
            requires_trait: z.ZodNumber;
            /** This specifies the array index of the facts object it will override, if the trait specified in requires_trait is selected.
             * If this field is omitted, then the fact contained within this object is to be appended to the existing facts array. */
            overrides: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strict>]>>>;
        /** Skill flags. If present, typically does not contain anything. */
        flags: z.ZodArray<z.ZodUnknown>;
        /** Skill chat link. */
        chat_link: z.ZodString;
        /** Trait category. */
        categories: z.ZodOptional<z.ZodArray<z.ZodString>>;
    }, z.core.$strict>>>;
}, z.core.$strict>>;
