type GearItem = {
    count: number;
    name: string;
    slots: number;
    type: 'food' | 'tool' | 'light' | 'armor' | 'weapon';
};
type ArmorItem = GearItem & {
    quality: number;
    defense: number;
    type: 'armor';
};
type WeaponItem = GearItem & {
    damage: string;
    hand: number;
    quality: number;
    type: 'weapon';
};
type Noun = 'physique' | 'face' | 'skin' | 'hair' | 'clothing' | 'virtue' | 'vice' | 'speech' | 'background' | 'misfortune';
type Traits = Record<Noun, string>;

type Abilities = Record<AbilityName, Ability>;
type AbilityName = 'charisma' | 'constitution' | 'dexterity' | 'intelligence' | 'strength' | 'wisdom';
type Ability = {
    bonus: number;
    defense: number;
};
declare class Character {
    armor: ArmorItem;
    copperPieces: number;
    items: GearItem[];
    itemSlots: number;
    level: number;
    maxHp: number;
    traits: Traits;
    weapon: WeaponItem;
    private abilities;
    constructor();
    generate: () => void;
    get abilityScores(): Abilities;
    get charisma(): Ability;
    get constitution(): Ability;
    get dexterity(): Ability;
    get intelligence(): Ability;
    get strength(): Ability;
    get wisdom(): Ability;
    private rollForCopperPieces;
    private rollHitPoints;
    private generateAbilities;
    private rollAbilityScore;
    private generateTraits;
}

export { Character as KnaveCharacter };
