export interface IGOOD extends IGOODComponent {
    format: "GOOD";
    version: number;
    source: string;
    characters?: ICharacter[];
    artifacts?: IArtifact[];
    weapons?: IWeapon[];
    materials?: Record<MaterialKey, number>;
}
export interface IArtifact extends IGOODComponent {
    setKey: SetKey;
    slotKey: SlotKey;
    level: number;
    rarity: number;
    mainStatKey: StatKey;
    location: CharacterKey | "";
    lock: boolean;
    substats: ISubstat[];
}
export interface ISubstat extends IGOODComponent {
    key: StatKey;
    value: number;
}
export interface IWeapon extends IGOODComponent {
    key: WeaponKey;
    level: number;
    ascension: number;
    refinement: number;
    location: CharacterKey | "";
    lock: boolean;
}
export interface ICharacter extends IGOODComponent {
    key: CharacterKey;
    level: number;
    constellation: number;
    ascension: number;
    talent: {
        auto: number;
        skill: number;
        burst: number;
    };
}
export type MaterialKey = string;
export type SetKey = string;
export type WeaponKey = string;
export type CharacterKey = string;
export type SlotKey = "flower" | "plume" | "sands" | "goblet" | "circlet";
export type StatKey = "hp" | "hp_" | "atk" | "atk_" | "def" | "def_" | "eleMas" | "enerRech_" | "heal_" | "critRate_" | "critDMG_" | "physical_dmg_" | "anemo_dmg_" | "geo_dmg_" | "electro_dmg_" | "hydro_dmg_" | "pyro_dmg_" | "cryo_dmg_" | "dendro_dmg_";
export interface IGOODComponent {
}
