/**
 * Protectorate Classes - Separate file to avoid circular imports
 * Contains all Protectorate-specific class definitions for buildings and units
 */
import { FactionTalent, Topbar } from "../engine/ability.js";
import { BaseBuilding, ExtractorBuilding, ProductionBuilding, SpecialBuilding, SupplyBuilding, TechBuilding, UltimateBuilding } from "../engine/building.js";
import { MainFaction } from "../engine/faction.js";
import { ArmyUnit, BuilderUnit, HarvesterUnit, HeroUnit, SpecialUnit, UltimateUnit } from "../engine/unit.js";
/**
 * Protectorate-specific talent that automatically sets abilityOf to "protectorate"
 */
export declare class ProtectorateTalent extends FactionTalent<ProtectorateTalent> {
    get type(): string;
    readonly uuid: string;
    constructor(props?: Partial<ProtectorateTalent>);
    get abilityOf(): string;
}
export declare class ProtectorateTopbar extends Topbar<ProtectorateTopbar> {
    get type(): string;
    description: string;
    constructor(props?: Partial<ProtectorateTopbar>);
    get abilityOf(): string;
    get factionName(): string;
}
/**
 * Protectorate main base building (Operating Tower)
 */
export declare abstract class ProtectorateBaseBuilding extends BaseBuilding {
    get buildingType(): "base";
    constructor();
}
/**
 * Protectorate production buildings (Factory, Barracks, etc.)
 */
export declare abstract class ProtectorateProductionBuilding extends ProductionBuilding {
    constructor();
}
/**
 * Protectorate technology/research buildings
 */
export declare abstract class ProtectorateTechBuilding extends TechBuilding {
    constructor();
}
/**
 * Protectorate resource extraction buildings
 */
export declare abstract class ProtectorateExtractorBuilding extends ExtractorBuilding {
    constructor();
}
/**
 * Protectorate supply buildings
 */
export declare abstract class ProtectorateSupplyBuilding extends SupplyBuilding {
    constructor();
}
/**
 * Protectorate special buildings (defensive structures, etc.)
 */
export declare abstract class ProtectorateSpecialBuilding extends SpecialBuilding {
    constructor();
}
/**
 * Protectorate ultimate buildings
 */
export declare abstract class ProtectorateUltimateBuilding extends UltimateBuilding {
    constructor();
}
/**
 * Protectorate army units (combat units)
 */
export declare abstract class ProtectorateArmyUnit extends ArmyUnit {
    constructor();
}
/**
 * Protectorate builder units (construction units)
 */
export declare abstract class ProtectorateBuilderUnit extends BuilderUnit {
    constructor();
}
/**
 * Protectorate harvester units (resource gathering)
 */
export declare abstract class ProtectorateHarvesterUnit extends HarvesterUnit {
    constructor();
}
/**
 * Protectorate hero units
 */
export declare abstract class ProtectorateHeroUnit extends HeroUnit {
    constructor();
}
/**
 * Protectorate Special Unit
 */
export declare abstract class ProtectorateSpecialUnit extends SpecialUnit {
    constructor();
}
/**
 * Protectorate Ultimate Unit
 */
export declare abstract class ProtectorateUltimateUnit extends UltimateUnit {
    constructor();
}
/**
 * Main Protectorate faction class
 */
export declare class ProtectorateFaction extends MainFaction {
    get type(): string;
    uuid: string;
    constructor();
}
//# sourceMappingURL=protectorate.d.ts.map