UNPKG

guildwars2-ts

Version:

GuildWars 2 API Wrapper in Typescript

602 lines (601 loc) 28.2 kB
import { z } from 'zod'; export declare const AttributeAdjust: z.ZodObject<{ type: z.ZodLiteral<"AttributeAdjust">; /** The amount target gets adjusted, based on a level 80 character at base stats. */ value: z.ZodNumber; /** The attribute this fact adjusts. Note that a value of Healing indicates the fact is a heal skill, and Ferocity is encoded at CritDamage. */ target: z.ZodString; }, z.core.$strict>; export declare const Buff: z.ZodObject<{ type: z.ZodLiteral<"Buff">; /** The boon, condition, or effect referred to by the fact. */ status: z.ZodString; /** The description of the status effect. */ description: z.ZodOptional<z.ZodString>; /** The number of stacks applied. */ apply_count: z.ZodOptional<z.ZodNumber>; /** The duration of the effect in seconds. Note that some facts of this type are just used to display * the buff icon with text; in this case, duration is usually 0, or omitted entirely. */ duration: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>; export declare const BuffArray: z.ZodObject<{ type: z.ZodLiteral<"BuffArray">; }, z.core.$strict>; export declare const ComboField: z.ZodObject<{ type: z.ZodLiteral<"ComboField">; /** The type of field. */ 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>; export declare const Finisher: z.ZodObject<{ type: z.ZodLiteral<"ComboFinisher">; /** The type of finisher. */ finisher_type: z.ZodEnum<{ Blast: "Blast"; Leap: "Leap"; Projectile: "Projectile"; Whirl: "Whirl"; }>; /** The percent chance that the finisher will trigger. */ percent: z.ZodNumber; }, z.core.$strict>; export declare const Damage: z.ZodObject<{ type: z.ZodLiteral<"Damage">; /** The amount of times the damage hits. */ hit_count: z.ZodNumber; /** Indicates the damage multiplier value of that skill. */ dmg_multiplier: z.ZodNumber; }, z.core.$strict>; export declare const Distance: z.ZodObject<{ type: z.ZodLiteral<"Distance">; /** The distance value. */ distance: z.ZodNumber; }, z.core.$strict>; export declare const Duration: z.ZodObject<{ type: z.ZodLiteral<"Duration">; /** The duration in seconds. */ duration: z.ZodNumber; }, z.core.$strict>; export declare const Heal: z.ZodObject<{ type: z.ZodLiteral<"Heal">; /** The number of times the heal skill is applied. */ hit_count: z.ZodNumber; }, z.core.$strict>; export declare const HealingAdjust: z.ZodObject<{ type: z.ZodLiteral<"HealingAdjust">; /** The number of times the heal value is applied. */ hit_count: z.ZodNumber; }, z.core.$strict>; export declare const NoData: z.ZodObject<{ /** This fact is usually used to display the Combat Only fact, but it can be used elsewhere. */ type: z.ZodLiteral<"NoData">; }, z.core.$strict>; export declare const NumberType: z.ZodObject<{ type: z.ZodLiteral<"Number">; /** The number value as referenced by text. */ value: z.ZodNumber; }, z.core.$strict>; export declare const Percent: z.ZodObject<{ type: z.ZodLiteral<"Percent">; /** The percentage value as referenced by text. */ percent: z.ZodNumber; }, z.core.$strict>; export declare const PrefixedBuff: z.ZodObject<{ type: z.ZodLiteral<"PrefixedBuff">; /** The boon, condition, or effect referred to by the fact. */ status: z.ZodOptional<z.ZodString>; /** The description of the status effect. */ description: z.ZodOptional<z.ZodString>; /** The number of stacks applied. */ apply_count: z.ZodNumber; /** The duration of the effect in seconds. Note that some facts of this type are just used to display * the buff icon with text; in this case, duration is usually 0, or omitted entirely. */ duration: z.ZodNumber; /** Buff prefix. */ prefix: z.ZodObject<{ /** Title of the prefix type. */ text: z.ZodString; /** Buff icon. */ icon: z.ZodURL; /** Title of the buff. */ status: z.ZodOptional<z.ZodString>; /** Description of the buff. */ description: z.ZodOptional<z.ZodString>; }, z.core.$strict>; }, z.core.$strict>; export declare const Radius: z.ZodObject<{ type: z.ZodLiteral<"Radius">; /** The radius value. */ distance: z.ZodNumber; }, z.core.$strict>; export declare const Range: z.ZodObject<{ type: z.ZodLiteral<"Range">; /** The range of the trait/skill. */ value: z.ZodNumber; }, z.core.$strict>; export declare const Recharge: z.ZodObject<{ type: z.ZodLiteral<"Recharge">; /** The recharge time in seconds. */ value: z.ZodNumber; }, z.core.$strict>; export declare const StunBreak: z.ZodObject<{ type: z.ZodLiteral<"StunBreak">; /** If present, always true. */ value: z.ZodLiteral<true>; }, z.core.$strict>; export declare const Time: z.ZodObject<{ type: z.ZodLiteral<"Time">; /** The time value in seconds. */ duration: z.ZodNumber; }, z.core.$strict>; export declare const Unblockable: z.ZodObject<{ type: z.ZodLiteral<"Unblockable">; /** If present, always true. */ value: z.ZodLiteral<true>; }, z.core.$strict>; /** * /v2/skills definition * * NOTE: This is mess, and there are a ton of optional fields. * A lot of optional types are impossible to define conditionally. * You're on your own. * Refer to this page for details: https://wiki.guildwars2.com/wiki/API:2/skills */ export declare const SkillsDTO: z.ZodArray<z.ZodObject<{ /** The skill id. */ id: z.ZodNumber; /** The skill name. */ name: z.ZodString; /** The skill description. */ description: z.ZodString; /** A URL to an icon of the skill. */ icon: z.ZodString; /** The chat link. */ chat_link: z.ZodString; /** The skill type. */ type: z.ZodEnum<{ Weapon: "Weapon"; Utility: "Utility"; Heal: "Heal"; Elite: "Elite"; Profession: "Profession"; Bundle: "Bundle"; Monster: "Monster"; Pet: "Pet"; Toolbelt: "Toolbelt"; Transform: "Transform"; }>; /** Indicates what weapon the skill is on. Can also be None if not applicable. */ weapon_type: z.ZodUnion<[z.ZodString, z.ZodLiteral<"None">]>; /** An array of strings indicating which profession(s) can use this skill. */ professions: z.ZodArray<z.ZodString>; /** A string indicating where this skill fits into. */ slot: z.ZodUnion<readonly [z.ZodTemplateLiteral<`Downed_${number}`>, z.ZodTemplateLiteral<`Profession_${number}`>, z.ZodTemplateLiteral<`Weapon_${number}`>, z.ZodLiteral<"Elite">, z.ZodLiteral<"Pet">, z.ZodLiteral<"Utility">]>; /** An array of skill fact objects describing the skill's effect. */ facts: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{ type: z.ZodLiteral<"AttributeAdjust">; value: z.ZodNumber; target: z.ZodString; text: z.ZodString; icon: z.ZodOptional<z.ZodURL>; }, 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.ZodString; icon: z.ZodOptional<z.ZodURL>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"BuffArray">; text: z.ZodString; icon: z.ZodOptional<z.ZodURL>; }, 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.ZodString; icon: z.ZodOptional<z.ZodURL>; }, 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.ZodString; icon: z.ZodOptional<z.ZodURL>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"Damage">; hit_count: z.ZodNumber; dmg_multiplier: z.ZodNumber; text: z.ZodString; icon: z.ZodOptional<z.ZodURL>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"Distance">; distance: z.ZodNumber; text: z.ZodString; icon: z.ZodOptional<z.ZodURL>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"Duration">; duration: z.ZodNumber; text: z.ZodString; icon: z.ZodOptional<z.ZodURL>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"Heal">; hit_count: z.ZodNumber; text: z.ZodString; icon: z.ZodOptional<z.ZodURL>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"HealingAdjust">; hit_count: z.ZodNumber; text: z.ZodString; icon: z.ZodOptional<z.ZodURL>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"NoData">; text: z.ZodString; icon: z.ZodOptional<z.ZodURL>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"Number">; value: z.ZodNumber; text: z.ZodString; icon: z.ZodOptional<z.ZodURL>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"Percent">; percent: z.ZodNumber; text: z.ZodString; icon: z.ZodOptional<z.ZodURL>; }, 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<{ /** Title of the prefix type. */ text: z.ZodString; /** Buff icon. */ icon: z.ZodURL; /** Title of the buff. */ status: z.ZodOptional<z.ZodString>; /** Description of the buff. */ description: z.ZodOptional<z.ZodString>; }, z.core.$strict>; text: z.ZodString; icon: z.ZodOptional<z.ZodURL>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"Radius">; distance: z.ZodNumber; text: z.ZodString; icon: z.ZodOptional<z.ZodURL>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"Range">; value: z.ZodNumber; text: z.ZodString; icon: z.ZodOptional<z.ZodURL>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"Recharge">; value: z.ZodNumber; text: z.ZodString; icon: z.ZodOptional<z.ZodURL>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"StunBreak">; value: z.ZodLiteral<true>; text: z.ZodString; icon: z.ZodOptional<z.ZodURL>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"Time">; duration: z.ZodNumber; text: z.ZodString; icon: z.ZodOptional<z.ZodURL>; }, z.core.$strict>, z.ZodObject<{ type: z.ZodLiteral<"Unblockable">; value: z.ZodLiteral<true>; text: z.ZodString; icon: z.ZodOptional<z.ZodURL>; }, z.core.$strict>, z.ZodObject<{ /** An arbitrary localized string describing the fact. */ text: z.ZodString; /** A URL to the icon shown with the fact. Not included with all facts. */ icon: z.ZodOptional<z.ZodURL>; }, z.core.$strict>]>>>; /** An array of skill fact objects that may apply to the skill, dependent on the player's trait choices. */ traited_facts: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{ type: z.ZodLiteral<"AttributeAdjust">; value: z.ZodNumber; target: z.ZodString; text: z.ZodString; icon: z.ZodOptional<z.ZodURL>; /** 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.ZodString; icon: z.ZodOptional<z.ZodURL>; /** 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.ZodString; icon: z.ZodOptional<z.ZodURL>; /** 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.ZodString; icon: z.ZodOptional<z.ZodURL>; /** 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.ZodString; icon: z.ZodOptional<z.ZodURL>; /** 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.ZodString; icon: z.ZodOptional<z.ZodURL>; /** 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.ZodString; icon: z.ZodOptional<z.ZodURL>; /** 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.ZodString; icon: z.ZodOptional<z.ZodURL>; /** 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.ZodString; icon: z.ZodOptional<z.ZodURL>; /** 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.ZodString; icon: z.ZodOptional<z.ZodURL>; /** 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.ZodString; icon: z.ZodOptional<z.ZodURL>; /** 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.ZodString; icon: z.ZodOptional<z.ZodURL>; /** 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.ZodString; icon: z.ZodOptional<z.ZodURL>; /** 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<{ /** Title of the prefix type. */ text: z.ZodString; /** Buff icon. */ icon: z.ZodURL; /** Title of the buff. */ status: z.ZodOptional<z.ZodString>; /** Description of the buff. */ description: z.ZodOptional<z.ZodString>; }, z.core.$strict>; text: z.ZodString; icon: z.ZodOptional<z.ZodURL>; /** 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.ZodString; icon: z.ZodOptional<z.ZodURL>; /** 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.ZodString; icon: z.ZodOptional<z.ZodURL>; /** 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.ZodString; icon: z.ZodOptional<z.ZodURL>; /** 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.ZodString; icon: z.ZodOptional<z.ZodURL>; /** 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.ZodString; icon: z.ZodOptional<z.ZodURL>; /** 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.ZodString; icon: z.ZodOptional<z.ZodURL>; /** 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.ZodString; /** A URL to the icon shown with the fact. Not included with all facts. */ icon: z.ZodOptional<z.ZodURL>; /** 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>]>>>; /** An array of categories the skill falls under. Mostly used for organizational purposes. */ categories: z.ZodOptional<z.ZodArray<z.ZodString>>; /** Used for Elementalist weapon skills, indicates what attunement this skill falls under. */ attunement: z.ZodOptional<z.ZodEnum<{ Fire: "Fire"; Air: "Air"; Earth: "Earth"; Water: "Water"; }>>; /** Used for Revenant, Warrior, and Druid skills to indicate their energy cost. */ cost: z.ZodOptional<z.ZodNumber>; /** Indicates what off-hand must be equipped for this dual-wield skill to appear. */ dual_wield: z.ZodOptional<z.ZodString>; /** Used for skills that "flip over" into a new skill in the same slot to indicate what skill they flip to, such as Engineer toolkits or Herald facets. */ flip_skill: z.ZodOptional<z.ZodNumber>; /** Indicates the Initiative cost for thief skills. */ initiative: z.ZodOptional<z.ZodNumber>; /** Indicates the next skill in the chain, if applicable. */ next_chain: z.ZodOptional<z.ZodNumber>; /** Indicates the previous skill in the chain, if applicable. */ prev_chain: z.ZodOptional<z.ZodNumber>; /** Used to indicate that the skill will transform the player, replacing their skills with the skills listed in the array. */ transform_skills: z.ZodOptional<z.ZodArray<z.ZodNumber>>; /** Used to indicate that the skill will replace the player's skills with the skills listed in the array. */ bundle_skills: z.ZodOptional<z.ZodArray<z.ZodNumber>>; /** Used for Engineer utility skills to indicate their associated toolbelt skill. */ toolbelt_skill: z.ZodOptional<z.ZodNumber>; /** Used to indicate usage limitations, more than one value can be set. */ flags: z.ZodArray<z.ZodEnum<{ NoUnderwater: "NoUnderwater"; GroundTargeted: "GroundTargeted"; }>>; }, z.core.$strict>>;