/**
 * Modifier - Game modifier classes for boons and mutators
 * Boons are positive modifiers, mutators are negative/neutral rule changes
 */
import { Entity } from "./entity.js";
export type ModifierType = "boon" | "mutator";
/**
 * Base Game Modifier class - extends Entity with modifier-specific properties
 * Usage: new Boon({ name: "Air Supremacy", description: "Air units deal +50% damage" })
 */
export declare abstract class GameModifier<T extends GameModifier<T> = any> extends Entity {
    abstract get modifierType(): ModifierType;
    constructor(props?: Partial<T>);
    get type(): string;
    get subtype(): ModifierType;
}
/**
 * Boon - Positive game modifier that provides advantages
 * Examples: Air Supremacy, Goldrush, Extra Supply
 */
export declare class Boon<T extends Boon<T> = any> extends GameModifier<T> {
    get modifierType(): ModifierType;
    constructor(props?: Partial<T>);
}
/**
 * Mutator - Game rule modifier that changes core mechanics
 * Examples: Sudden Death, Depletion, Lockdown
 */
export declare class Mutator<T extends Mutator<T> = any> extends GameModifier<T> {
    get modifierType(): ModifierType;
    constructor(props?: Partial<T>);
}
//# sourceMappingURL=modifier.d.ts.map