guildwars2-ts
Version:
GuildWars 2 API Wrapper in Typescript
602 lines (601 loc) • 28.2 kB
TypeScript
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>>;