import type { ClassKey } from "../classes/Classes";
import type { ConditionKey } from "../conditions/Conditions";
import type { DismantleKey } from "../dismantle/Dismantle";
import type { ItemKey } from "../items/index";
import type { ProjectileKey } from "../projectiles/Projectiles";
import type { ThrowKey } from "../items/Throw";
import type { WeaponType } from "../items/index";
import { StatType } from "../../../items";
export type SkillKey = "3shot" | "4fingers" | "5shot" | "absorb" | "agitate" | "alchemy" | "anger" | "attack" | "blink" | "burst" | "cburst" | "charge" | "charm" | "cleave" | "curse" | "curse_aura" | "dampening_aura" | "darkblessing" | "dash" | "deepfreeze" | "emotion" | "energize" | "entangle" | "esc" | "fireball" | "fishing" | "frostball" | "gm" | "hardshell" | "heal" | "healing" | "huntersmark" | "interact" | "invis" | "light" | "magiport" | "massproduction" | "massproductionpp" | "mcourage" | "mentalburst" | "mfrenzy" | "mining" | "mlight" | "mluck" | "move_down" | "move_left" | "move_right" | "move_up" | "mshield" | "mtangle" | "multi_burn" | "multi_freeze" | "open_snippet" | "partyheal" | "pcoat" | "phaseout" | "pickpocket" | "piercingshot" | "poisonarrow" | "portal" | "power" | "pure_eval" | "purify" | "quickpunch" | "quickstab" | "reflection" | "regen_hp" | "regen_mp" | "revive" | "rspeed" | "scare" | "self_healing" | "selfheal" | "shadowstrike" | "smash" | "snippet" | "snowball" | "stack" | "stomp" | "stone" | "stop" | "supershot" | "tangle" | "taunt" | "throw" | "toggle_character" | "toggle_code" | "toggle_inventory" | "toggle_run_code" | "toggle_stats" | "track" | "travel" | "use_hp" | "use_mp" | "use_town" | "warcry" | "warp" | "warpstomp" | "weakness_aura" | "xpower" | "zap" | "zapperzap";
export interface GSkill {
    action?: string;
    apiercing?: number;
    aura?: boolean;
    class?: ClassKey[];
    code?: boolean | string;
    complementary?: string;
    condition?: ConditionKey;
    consume?: ItemKey;
    cooldown?: number;
    cooldown_multiplier?: number;
    damage?: number;
    damage_multiplier?: number;
    damage_type?: string;
    duration?: number;
    duration_max?: number;
    duration_min?: number;
    explanation?: string;
    global?: boolean;
    heal?: boolean;
    hostile?: boolean;
    inventory?: [ThrowKey];
    kill_buff?: ConditionKey;
    level?: number;
    levels?: Array<[number, number]>;
    list?: boolean;
    max?: number;
    merchant_use?: boolean;
    monsters?: boolean;
    mp?: number;
    multi?: boolean;
    name: string;
    negative?: [DismantleKey];
    nprop?: [SkillKey, string];
    output?: number;
    party?: boolean;
    passive?: boolean;
    persistent?: boolean;
    pierces_immunity?: boolean;
    positive?: [DismantleKey];
    procs?: boolean;
    projectile?: ProjectileKey;
    range?: number;
    range_bonus?: number;
    range_multiplier?: number;
    ratio?: number;
    requirements?: Partial<Record<StatType, number>>;
    reuse_cooldown?: number;
    set_speed?: number;
    share?: SkillKey;
    skin?: string;
    skins?: [string, string, string];
    slot?: Array<[string, ItemKey]>;
    target?: boolean | string;
    toggle?: boolean;
    type?: string;
    ui?: boolean;
    use_range?: boolean;
    variance?: number;
    warning?: string;
    wtype?: Array<WeaponType> | WeaponType;
}
