/**
 * Type of value of object
 */
export type ValueOf<T> = T[keyof T];
/**
 * Client option
 */
export interface ClientOption {
    /**
     * Fetch option
     * @default
     * ```ts
     * {
     *   'user-agent': 'genshin-manager@x.x.x',
     * }
     * ```
     */
    fetchOption: RequestInit;
    /**
     * List of TextMaps to download when new assets are found.
     * @default
     * ```ts
     * ['EN','RU','VI','TH','PT','KR','JP','ID','FR','ES','DE','CHT','CHS']
     * ```
     */
    downloadLanguages: (keyof typeof TextMapLanguage)[];
    /**
     * default image base URL
     * @default 'https://gi.yatta.top/assets/UI'
     */
    defaultImageBaseURL: string;
    /**
     * default audio base URL
     * @default 'https://gi.yatta.top/assets/Audio'
     */
    defaultAudioBaseURL: string;
    /**
     * image base URL by regex
     * @default
     * ```ts
     * {
     *    'https://enka.network/ui': [
     *      /^UI_(AvatarIcon_Side|Costume)_/,
     *      /^UI_AvatarIcon_(.+)_Card$/,
     *      /^UI_AvatarIcon_(.+)_Circle/,
     *      /^UI_NameCardPic_(.+)_Alpha/,
     *      /^UI_EquipIcon_(.+)_Awaken/,
     *    ],
     *    'https://res.cloudinary.com/genshin/image/upload/sprites': [
     *      /^Eff_UI_Talent_/,
     *      /^UI_(TowerPic|TowerBlessing|GcgIcon|Gcg_Cardtable|Gcg_CardBack)_/,
     *    ],
     *    'https://gi.yatta.top/assets/UI/monster': [
     *      /^UI_(MonsterIcon|AnimalIcon)_/,
     *    ],
     *    'https://gi.yatta.top/assets/UI/gcg': [/^UI_Gcg_CardFace_/],
     *    'https://gi.yatta.top/assets/UI/reliquary': [/^UI_RelicIcon_/],
     *    'https://gi.yatta.top/assets/UI/namecard': [/^UI_NameCard/],
     *  },
     * ```
     */
    imageBaseURLByRegex: {
        [url: string]: RegExp[];
    };
    /**
     * audio base url by regex
     * @default
     * ```ts
     * {}
     * ```
     */
    audioBaseURLByRegex: {
        [url: string]: RegExp[];
    };
    /**
     * default language
     * @default 'EN'
     */
    defaultLanguage: keyof typeof TextMapLanguage;
    /**
     * show fetch cache log
     * @default true
     */
    showFetchCacheLog: boolean;
    /**
     * auto fetch latest assets by cron
     * @warn If this option is `undefined`, asset updates and initial setup are not executed
     * @default '0 0 0 * * 3' // minute hour day-of-month month day-of-week
     * @see https://crontab.guru/
     */
    autoFetchLatestAssetsByCron: string | undefined;
    /**
     * Automatically re-download the textMap if it has not been downloaded or if there is an error in the json format
     * @warn If `autoFetchLatestAssetsByCron` is `undefined`, this option will be ignored
     * @default true
     */
    autoFixTextMap: boolean;
    /**
     * Automatically fix the ExcelBin if it has not been downloaded or if there is an error in the json format
     * @warn If `autoFetchLatestAssetsByCron` is `undefined`, this option will be ignored
     * @default true
     */
    autoFixExcelBin: boolean;
    /**
     * auto cache image
     * @default true
     */
    autoCacheImage: boolean;
    /**
     * auto cache audio
     * @default true
     */
    autoCacheAudio: boolean;
    /**
     * asset cache folder path
     * @default node_modules/genshin-manager/cache
     */
    assetCacheFolderPath: string;
}
/**
 * Element Map for ExcelBinOut to Element
 */
export declare const ElementKeys: {
    readonly Physical: "Phys";
    readonly Fire: "Pyro";
    readonly Electric: "Electro";
    readonly Ice: "Cryo";
    readonly Wind: "Anemo";
    readonly Water: "Hydro";
    readonly Rock: "Geo";
    readonly Grass: "Dendro";
};
/**
 * Element type
 */
export type Element = ValueOf<typeof ElementKeys>;
/**
 * Character voice type
 */
export type CVType = keyof Omit<typeof TextMapLanguage, 'RU' | 'VI' | 'TH' | 'PT' | 'ID' | 'FR' | 'ES' | 'DE' | 'CHT'>;
/**
 * Artifact type
 */
export type ArtifactType = 'EQUIP_BRACER' | 'EQUIP_NECKLACE' | 'EQUIP_SHOES' | 'EQUIP_RING' | 'EQUIP_DRESS';
/**
 * Association type
 */
export type AssocType = 'ASSOC_TYPE_FATUI' | 'ASSOC_TYPE_FONTAINE' | 'ASSOC_TYPE_INAZUMA' | 'ASSOC_TYPE_LIYUE' | 'ASSOC_TYPE_MAINACTOR' | 'ASSOC_TYPE_MONDSTADT' | 'ASSOC_TYPE_RANGER' | 'ASSOC_TYPE_SUMERU' | 'ASSOC_TYPE_NATLAN';
/**
 * Item type
 */
export type ItemType = 'ITEM_VIRTUAL' | 'ITEM_MATERIAL';
/**
 * Material type
 */
export type MaterialType = 'MATERIAL_ACTIVITY_GEAR' | 'MATERIAL_ACTIVITY_JIGSAW' | 'MATERIAL_ACTIVITY_ROBOT' | 'MATERIAL_ADSORBATE' | 'MATERIAL_ARANARA' | 'MATERIAL_AVATAR' | 'MATERIAL_AVATAR_MATERIAL' | 'MATERIAL_BGM' | 'MATERIAL_CHANNELLER_SLAB_BUFF' | 'MATERIAL_CHEST' | 'MATERIAL_CHEST_BATCH_USE' | 'MATERIAL_CONSUME' | 'MATERIAL_CONSUME_BATCH_USE' | 'MATERIAL_COSTUME' | 'MATERIAL_CRICKET' | 'MATERIAL_DESHRET_MANUAL' | 'MATERIAL_ELEM_CRYSTAL' | 'MATERIAL_EXCHANGE' | 'MATERIAL_EXP_FRUIT' | 'MATERIAL_FAKE_ABSORBATE' | 'MATERIAL_FIREWORKS' | 'MATERIAL_FISH_BAIT' | 'MATERIAL_FISH_ROD' | 'MATERIAL_FLYCLOAK' | 'MATERIAL_FOOD' | 'MATERIAL_FURNITURE_FORMULA' | 'MATERIAL_FURNITURE_SUITE_FORMULA' | 'MATERIAL_GCG_CARD' | 'MATERIAL_GCG_CARD_BACK' | 'MATERIAL_GCG_CARD_FACE' | 'MATERIAL_GCG_EXCHANGE_ITEM' | 'MATERIAL_GCG_FIELD' | 'MATERIAL_HOME_SEED' | 'MATERIAL_NAMECARD' | 'MATERIAL_NOTICE_ADD_HP' | 'MATERIAL_QUEST' | 'MATERIAL_RELIQUARY_MATERIAL' | 'MATERIAL_RENAME_ITEM' | 'MATERIAL_SEA_LAMP' | 'MATERIAL_SELECTABLE_CHEST' | 'MATERIAL_SPICE_FOOD' | 'MATERIAL_TALENT' | 'MATERIAL_WEAPON_EXP_STONE' | 'MATERIAL_WIDGET' | 'MATERIAL_WOOD';
/**
 * FightProp Map
 */
export declare const FightProps: {
    readonly 0: "FIGHT_PROP_NONE";
    readonly 1: "FIGHT_PROP_BASE_HP";
    readonly 2: "FIGHT_PROP_HP";
    readonly 3: "FIGHT_PROP_HP_PERCENT";
    readonly 4: "FIGHT_PROP_BASE_ATTACK";
    readonly 5: "FIGHT_PROP_ATTACK";
    readonly 6: "FIGHT_PROP_ATTACK_PERCENT";
    readonly 7: "FIGHT_PROP_BASE_DEFENSE";
    readonly 8: "FIGHT_PROP_DEFENSE";
    readonly 9: "FIGHT_PROP_DEFENSE_PERCENT";
    readonly 10: "FIGHT_PROP_BASE_SPEED";
    readonly 11: "FIGHT_PROP_SPEED_PERCENT";
    readonly 20: "FIGHT_PROP_CRITICAL";
    readonly 22: "FIGHT_PROP_CRITICAL_HURT";
    readonly 23: "FIGHT_PROP_CHARGE_EFFICIENCY";
    readonly 26: "FIGHT_PROP_HEAL_ADD";
    readonly 27: "FIGHT_PROP_HEALED_ADD";
    readonly 28: "FIGHT_PROP_ELEMENT_MASTERY";
    readonly 29: "FIGHT_PROP_PHYSICAL_SUB_HURT";
    readonly 30: "FIGHT_PROP_PHYSICAL_ADD_HURT";
    readonly 40: "FIGHT_PROP_FIRE_ADD_HURT";
    readonly 41: "FIGHT_PROP_ELEC_ADD_HURT";
    readonly 42: "FIGHT_PROP_WATER_ADD_HURT";
    readonly 43: "FIGHT_PROP_GRASS_ADD_HURT";
    readonly 44: "FIGHT_PROP_WIND_ADD_HURT";
    readonly 45: "FIGHT_PROP_ROCK_ADD_HURT";
    readonly 46: "FIGHT_PROP_ICE_ADD_HURT";
    readonly 50: "FIGHT_PROP_FIRE_SUB_HURT";
    readonly 51: "FIGHT_PROP_ELEC_SUB_HURT";
    readonly 52: "FIGHT_PROP_WATER_SUB_HURT";
    readonly 53: "FIGHT_PROP_GRASS_SUB_HURT";
    readonly 54: "FIGHT_PROP_WIND_SUB_HURT";
    readonly 55: "FIGHT_PROP_ROCK_SUB_HURT";
    readonly 56: "FIGHT_PROP_ICE_SUB_HURT";
    readonly 80: "FIGHT_PROP_SKILL_CD_MINUS_RATIO";
    readonly 81: "FIGHT_PROP_SHIELD_COST_MINUS_RATIO";
    readonly 1010: "FIGHT_PROP_CUR_HP";
    readonly 2000: "FIGHT_PROP_MAX_HP";
    readonly 2001: "FIGHT_PROP_CUR_ATTACK";
    readonly 2002: "FIGHT_PROP_CUR_DEFENSE";
    readonly 2003: "FIGHT_PROP_CUR_SPEED";
};
/**
 * FightProp type
 */
export type FightPropType = ValueOf<typeof FightProps>;
/**
 * Weapon type
 */
export type WeaponType = 'WEAPON_BOW' | 'WEAPON_CATALYST' | 'WEAPON_CLAYMORE' | 'WEAPON_POLE' | 'WEAPON_SWORD_ONE_HAND';
/**
 * Character's profile picture type
 */
export type ProfilePictureType = 'PROFILE_PICTURE_UNLOCK_BY_AVATAR' | 'PROFILE_PICTURE_UNLOCK_BY_COSTUME' | 'PROFILE_PICTURE_UNLOCK_BY_ITEM';
/**
 * Quality type (Rarity Type)
 */
export type QualityType = 'QUALITY_ORANGE' | 'QUALITY_PURPLE' | 'QUALITY_ORANGE_SP';
/**
 * Body type
 */
export type BodyType = 'BODY_BOY' | 'BODY_GIRL' | 'BODY_LADY' | 'BODY_LOLI' | 'BODY_MALE';
/**
 * Monster type
 * @description `CODEX_SUBTYPE_ELEMENT_LIFE` is original (reason:Element lifeforms does not have a subType)
 */
export type CodexType = 'CODEX_SUBTYPE_ELEMENT_LIFE' | 'CODEX_SUBTYPE_ABYSS' | 'CODEX_SUBTYPE_ANIMAL' | 'CODEX_SUBTYPE_AUTOMATRON' | 'CODEX_SUBTYPE_AVIARY' | 'CODEX_SUBTYPE_BEAST' | 'CODEX_SUBTYPE_BOSS' | 'CODEX_SUBTYPE_CRITTER' | 'CODEX_SUBTYPE_FATUI' | 'CODEX_SUBTYPE_FISH' | 'CODEX_SUBTYPE_HILICHURL' | 'CODEX_SUBTYPE_HUMAN';
/**
 * TextMap language type
 */
export declare const TextMapLanguage: {
    readonly EN: readonly ["TextMapEN.json"];
    readonly RU: readonly ["TextMapRU.json"];
    readonly VI: readonly ["TextMapVI.json"];
    readonly TH: readonly ["TextMapTH_0.json", "TextMapTH_1.json"];
    readonly PT: readonly ["TextMapPT.json"];
    readonly KR: readonly ["TextMapKR.json"];
    readonly JP: readonly ["TextMapJP.json"];
    readonly ID: readonly ["TextMapID.json"];
    readonly FR: readonly ["TextMapFR.json"];
    readonly ES: readonly ["TextMapES.json"];
    readonly DE: readonly ["TextMapDE.json"];
    readonly CHT: readonly ["TextMapCHT.json"];
    readonly CHS: readonly ["TextMapCHS.json"];
};
/**
 * ExcelBin outputs
 */
export declare const ExcelBinOutputs: {
    readonly AnimalCodexExcelConfigData: "AnimalCodexExcelConfigData.json";
    readonly AvatarCostumeExcelConfigData: "AvatarCostumeExcelConfigData.json";
    readonly AvatarCurveExcelConfigData: "AvatarCurveExcelConfigData.json";
    readonly AvatarExcelConfigData: "AvatarExcelConfigData.json";
    readonly AvatarPromoteExcelConfigData: "AvatarPromoteExcelConfigData.json";
    readonly AvatarSkillDepotExcelConfigData: "AvatarSkillDepotExcelConfigData.json";
    readonly AvatarSkillExcelConfigData: "AvatarSkillExcelConfigData.json";
    readonly AvatarTalentExcelConfigData: "AvatarTalentExcelConfigData.json";
    readonly DungeonEntryExcelConfigData: "DungeonEntryExcelConfigData.json";
    readonly DungeonLevelEntityConfigData: "DungeonLevelEntityConfigData.json";
    readonly EquipAffixExcelConfigData: "EquipAffixExcelConfigData.json";
    readonly FetterInfoExcelConfigData: "FetterInfoExcelConfigData.json";
    readonly FettersExcelConfigData: "FettersExcelConfigData.json";
    readonly FetterStoryExcelConfigData: "FetterStoryExcelConfigData.json";
    readonly ManualTextMapConfigData: "ManualTextMapConfigData.json";
    readonly MaterialExcelConfigData: "MaterialExcelConfigData.json";
    readonly MonsterCurveExcelConfigData: "MonsterCurveExcelConfigData.json";
    readonly MonsterDescribeExcelConfigData: "MonsterDescribeExcelConfigData.json";
    readonly MonsterExcelConfigData: "MonsterExcelConfigData.json";
    readonly ProudSkillExcelConfigData: "ProudSkillExcelConfigData.json";
    readonly ProfilePictureExcelConfigData: "ProfilePictureExcelConfigData.json";
    readonly ReliquaryAffixExcelConfigData: "ReliquaryAffixExcelConfigData.json";
    readonly ReliquaryExcelConfigData: "ReliquaryExcelConfigData.json";
    readonly ReliquaryLevelExcelConfigData: "ReliquaryLevelExcelConfigData.json";
    readonly ReliquaryMainPropExcelConfigData: "ReliquaryMainPropExcelConfigData.json";
    readonly ReliquarySetExcelConfigData: "ReliquarySetExcelConfigData.json";
    readonly TowerFloorExcelConfigData: "TowerFloorExcelConfigData.json";
    readonly TowerLevelExcelConfigData: "TowerLevelExcelConfigData.json";
    readonly TowerScheduleExcelConfigData: "TowerScheduleExcelConfigData.json";
    readonly WeaponCurveExcelConfigData: "WeaponCurveExcelConfigData.json";
    readonly WeaponExcelConfigData: "WeaponExcelConfigData.json";
    readonly WeaponPromoteExcelConfigData: "WeaponPromoteExcelConfigData.json";
};
