import { Stat } from "../../build/interface/stat";
import { StatType } from "../../build/value_object/stat_type";
import { Weapon } from "../../weapon/interface/weapon";
import { Context } from "../../context";
import { Decorator } from './decorator';
import { RedTextEnum } from '../../build';
import { GearType } from './gear_type';
/**
 * Represents COMs, Relics, and any other gear that contains stats
 *
 * Gear will have certain limitations, like the type of weapon that is affected
 */
export declare class Gear {
    id: string;
    type: GearType;
    name?: string;
    protected stats: Stat[];
    protected decorator?: Decorator;
    protected redText?: RedTextEnum;
    constructor(type: GearType, stats: Stat[], decorator?: Decorator, redText?: RedTextEnum);
    getStat(statType: StatType, weapon: Weapon, context: Context): number;
}
