import { TObjectValues } from "../types";
import { CORE_CLASS, DOMAIN, FORMATION_CLASS, UNIT_MOVEMENT_CLASS } from "../constants";
import { BaseNode } from "./BaseNode";
export type TUnitNode = Pick<UnitNode, "unitType" | "baseMoves" | "baseSightRange" | "name" | "coreClass" | "domain" | "formationClass" | "unitMovementClass" | "airSlots" | "allowBarbarians" | "allowTeleportToOtherPlayerCapitals" | "antiAirCombat" | "buildCharges" | "canBeDamaged" | "canCapture" | "canEarnExperience" | "canPurchase" | "canRetreatWhenCaptured" | "canTargetAir" | "canTrain" | "canTriggerDiscovery" | "costProgressionModel" | "costProgressionParam1" | "description" | "enabledByReligion" | "evangelizeBelief" | "extractsArtifacts" | "foundCity" | "foundReligion" | "ignoreMoves" | "initialLevel" | "launchInquisition" | "maintenance" | "makeTradeRoute" | "mustPurchase" | "numRandomChoices" | "prereqPopulation" | "promotionClass" | "pseudoYieldType" | "purchaseYield" | "religionEvictPercent" | "religiousHealCharges" | "religiousStrength" | "requiresInquisition" | "spreadCharges" | "spy" | "stackable" | "strategicResource" | "teamVisibility" | "teleport" | "tier" | "trackReligion" | "traitType" | "victoryType" | "victoryUnit" | "wmdCapable" | "zoneOfControl">;
export declare class UnitNode extends BaseNode<TUnitNode> {
    unitType: `UNIT_${string}` | null;
    baseMoves: number | null;
    baseSightRange: number | null;
    name: string | null;
    coreClass: TObjectValues<typeof CORE_CLASS> | null;
    domain: TObjectValues<typeof DOMAIN> | null;
    formationClass: TObjectValues<typeof FORMATION_CLASS> | null;
    unitMovementClass: TObjectValues<typeof UNIT_MOVEMENT_CLASS> | null;
    airSlots: number | null;
    allowBarbarians: boolean | null;
    allowTeleportToOtherPlayerCapitals: boolean | null;
    antiAirCombat: number | null;
    buildCharges: number | null;
    canBeDamaged: boolean | null;
    canCapture: boolean | null;
    canEarnExperience: boolean | null;
    canPurchase: boolean | null;
    canRetreatWhenCaptured: boolean | null;
    canTargetAir: boolean | null;
    canTrain: boolean | null;
    canTriggerDiscovery: boolean | null;
    costProgressionModel: string | null;
    costProgressionParam1: number | null;
    description: string | null;
    enabledByReligion: boolean | null;
    evangelizeBelief: boolean | null;
    extractsArtifacts: boolean | null;
    foundCity: boolean | null;
    foundReligion: boolean | null;
    ignoreMoves: boolean | null;
    initialLevel: number | null;
    launchInquisition: boolean | null;
    maintenance: number | null;
    makeTradeRoute: boolean | null;
    mustPurchase: boolean | null;
    numRandomChoices: number | null;
    prereqPopulation: number | null;
    promotionClass: string | null;
    pseudoYieldType: string | null;
    purchaseYield: string | null;
    religionEvictPercent: number | null;
    religiousHealCharges: number | null;
    religiousStrength: number | null;
    requiresInquisition: boolean | null;
    spreadCharges: number | null;
    spy: boolean | null;
    stackable: boolean | null;
    strategicResource: string | null;
    teamVisibility: boolean | null;
    teleport: boolean | null;
    tier: number | null;
    trackReligion: boolean | null;
    traitType: string | null;
    victoryType: string | null;
    victoryUnit: boolean | null;
    wmdCapable: boolean | null;
    zoneOfControl: boolean | null;
    constructor(payload?: Partial<TUnitNode>);
}
