import { type TriggeredEffectName } from '../Ability'; import { type Context } from '../Context'; import { type EquipmentName } from '../Inventory'; import { type ContextualModifier, type ModifiersTotalCalculators } from '../Modifier'; import { FightStyle } from '../Power/GeneralPower/CombatPower/FightStyle/FightStyle'; import { type RandomInterface } from '../Random'; import { type Attributes, type CharacterSheetInterface, type SerializedSheetGeneralPower, type SerializedSheetInterface } from '../Sheet'; import { type SkillName } from '../Skill'; import { CharacterSkill } from '../Skill/CharacterSkill'; import { type SheetSkill } from '../Skill/SheetSkill'; import type { CharacterAppliedFightStyle } from './CharacterAppliedFightStyle'; import { CharacterAttack, type SerializedCharacterAttack } from './CharacterAttack'; import { CharacterDefenseTriggeredEffect } from './CharacterDefenseTriggeredEffect'; import type { CharacterInterface } from './CharacterInterface'; import { CharacterModifiers, type SerializedCharacterModifiers } from './CharacterModifiers'; export type SerializedCharacter = { sheet: SerializedSheetInterface; attacks?: SerializedCharacterAttack[]; modifiers?: SerializedCharacterModifiers; fightStyle?: SerializedSheetGeneralPower; maxWieldedItems?: number; }; export declare class Character implements CharacterInterface { readonly sheet: CharacterSheetInterface; readonly context: Context; static makeFromSerialized(serialized: SerializedCharacter): Character; private get maxWieldedItems(); readonly modifiers: CharacterModifiers; private fightStyle; constructor(sheet: CharacterSheetInterface, context?: Context); attack(attack: CharacterAttack, random?: RandomInterface): import("./CharacterAttack").AttackResult; selectFightStyle(fightStyle: FightStyle): void; unselectFightStyle(): void; toggleEquipItem(name: EquipmentName): void; getContextualModifierAppliableValue(modifier: ContextualModifier): number; getAttributes(): Attributes; getSkill(skillName: SkillName): CharacterSkill; getSkills(): Record; getDefenseTriggeredEffects(): Map; makeCharacterSkill(skill: SheetSkill, totalCalculators: ModifiersTotalCalculators): CharacterSkill; makeSkillTriggeredEffects(): Map>; getAttacks(): Map; getAttack(weaponName: EquipmentName): CharacterAttack; getWieldedItems(): EquipmentName[]; getFightStyle(): CharacterAppliedFightStyle | undefined; serialize(): SerializedCharacter; private makeAttack; private selectDefaultFightStyle; private makeMaxTotalCalculators; private makeTotalCalculators; private makeContextTotalCalculator; private makeFixedTotalCalculator; private makePerLevelCalculator; }