import type { ClassKey } from "../classes/Classes";
import type { ItemKey } from "../items/index";
import type { TokenKey } from "../tokens/Tokens";
import type { WeaponType } from "../items/index";
export type NpcKey = "antip2w" | "appearance" | "armors" | "basics" | "bean" | "bouncer" | "citizen0" | "citizen1" | "citizen10" | "citizen11" | "citizen12" | "citizen13" | "citizen14" | "citizen15" | "citizen16" | "citizen2" | "citizen3" | "citizen4" | "citizen5" | "citizen6" | "citizen7" | "citizen8" | "citizen9" | "compound" | "craftsman" | "exchange" | "fancypots" | "favors" | "firstc" | "fisherman" | "friendtokens" | "funtokens" | "gemmerchant" | "goldnpc" | "guard" | "holo" | "holo0" | "holo1" | "holo2" | "holo3" | "holo4" | "holo5" | "items0" | "items1" | "items10" | "items11" | "items12" | "items13" | "items14" | "items15" | "items16" | "items17" | "items18" | "items19" | "items2" | "items20" | "items21" | "items22" | "items23" | "items24" | "items25" | "items26" | "items27" | "items28" | "items29" | "items3" | "items30" | "items31" | "items32" | "items33" | "items34" | "items35" | "items36" | "items37" | "items38" | "items39" | "items4" | "items40" | "items41" | "items42" | "items43" | "items44" | "items45" | "items46" | "items47" | "items5" | "items6" | "items7" | "items8" | "items9" | "jailer" | "leathermerchant" | "lichteaser" | "locksmith" | "lostandfound" | "lotterylady" | "mcollector" | "mistletoe" | "monsterhunter" | "newupgrade" | "newyear_tree" | "ornaments" | "pete" | "pots" | "premium" | "princess" | "pvp" | "pvpblocker" | "pvptokens" | "pwincess" | "rewards" | "santa" | "scrolls" | "scrollsmith" | "secondhands" | "shellsguy" | "ship" | "shrine" | "standmerchant" | "tavern" | "tbartender" | "thief" | "transporter" | "wbartender" | "weapons" | "witch" | "wizardrepeater" | "wnpc";
export type NpcName = "Ace" | "Alia" | "Angel" | "Baron" | "Bean" | "Bobo" | "Caroline" | "Christie" | "Christina" | "Cole" | "Crun" | "Cue" | "Cunn" | "Daisy" | "Divian" | "Ernis" | "Faith" | "Favoré" | "Fredric" | "Fvona" | "Gabriel" | "Gabriella" | "Gabrielle" | "Garwyn" | "Gn. Spence" | "Green" | "Grundur" | "Guard" | "Haila" | "Jailord" | "Jane" | "Janet" | "Jaqk" | "Jayson" | "Kane" | "Kilgore" | "Landon" | "Ledia" | "Leo" | "Lidia" | "Lilith" | "Lucas" | "Lucy" | "Marven" | "Mine Heathcliff" | "Mr. Dworf" | "Mr. Rich" | "New Year Tree" | "Pete" | "Pink" | "Ponty" | "Princess" | "Purple" | "Reny" | "Ron" | "Rose" | "Santa" | "Scarf" | "Sir Bob" | "Smith" | "Stewart" | "Timmy" | "Tricksy" | "Tristian" | "Twig" | "Violet" | "Warin" | "Werdars" | "Witch" | "Wizard" | "Wogue" | "Wynifreed" | "Wyr" | "X10" | "X11" | "X12" | "X13" | "X14" | "X15" | "X16" | "X17" | "X18" | "X19" | "X20" | "X21" | "X22" | "X23" | "X24" | "X25" | "X26" | "X27" | "X28" | "X29" | "X30" | "X31" | "X32" | "X33" | "X34" | "X35" | "X36" | "X37" | "X38" | "X39" | "X40" | "X41" | "X42" | "X43" | "X44" | "X45" | "X46" | "X47" | "X8" | "X9" | "Xyn" | "Z";
export type NpcRole = "blocker" | "bouncer" | "citizen" | "companion" | "compound" | "craftsman" | "cx" | "events" | "exchange" | "favors" | "friendtokens" | "funtokens" | "gold" | "guard" | "items" | "jailer" | "locksmith" | "lostandfound" | "lottery" | "mcollector" | "merchant" | "monstertokens" | "newupgrade" | "newyear_tree" | "petkeeper" | "premium" | "pvp_announcer" | "pvptokens" | "quest" | "repeater" | "resort" | "rewards" | "santa" | "scrollsmith" | "secondhands" | "shells" | "ship" | "shrine" | "standmerchant" | "tavern" | "tease" | "thesearch" | "transport" | "witch";
export interface GNpc {
    allow?: boolean;
    aspeed?: string;
    attack?: number;
    atype?: string;
    aura?: {
        gold?: number;
        luck?: number;
    };
    class?: ClassKey;
    color?: string;
    cx?: {
        face?: string;
        hair?: string;
        hat?: string;
        head?: string;
    };
    delay?: number;
    heal?: number;
    hp?: number;
    id: NpcKey;
    ignore?: boolean;
    interaction?: Array<string>;
    interval?: number;
    items?: Array<ItemKey | null>;
    level?: number;
    modal?: string;
    moving?: boolean;
    name?: NpcName;
    old_items?: Array<ItemKey | null>;
    old_role?: NpcRole;
    old_side_interaction?: {
        auto: boolean;
        message: string;
        skin: string;
    };
    pack?: NpcKey;
    places?: {
        winterland: number;
        desertland: number;
        test: number;
        cyberland: number;
        main: number;
        d_e: number;
    };
    quest?: string;
    range?: number;
    role: NpcRole;
    says?: Array<string> | string;
    seek?: string;
    side_interaction?: {
        auto: boolean;
        message: string;
        skin: string;
    };
    skin: string;
    slots?: {
        mainhand: {
            level: number;
            name: WeaponType;
        };
    };
    speed?: number;
    stand?: string;
    steps?: number;
    stopframe?: number;
    token?: TokenKey;
    transport?: boolean;
    type?: string;
}
