import { TObjectValues } from "../types";
import { AGE, CONSTRUCTIBLE_CLASS } from "../constants";
import { BaseNode } from "./BaseNode";
export type TConstructibleNode = Pick<ConstructibleNode, "constructibleType" | "adjacentDistrict" | "adjacentLake" | "adjacentRiver" | "adjacentTerrain" | "age" | "archaeology" | "canBeHidden" | "constructibleClass" | "cost" | "costProgressionModel" | "costProgressionParam1" | "defense" | "description" | "discovery" | "districtDefense" | "existingDistrictOnly" | "immuneDamage" | "inRailNetwork" | "militaryDomain" | "name" | "noFeature" | "noRiver" | "population" | "productionBoostOverRoute" | "repairable" | "requiresAppealPlacement" | "requiresDistantLands" | "requiresHomeland" | "requiresUnlock" | "riverPlacement" | "tooltip" | "victoryItem">;
export declare class ConstructibleNode extends BaseNode<TConstructibleNode> {
    constructibleClass: TObjectValues<typeof CONSTRUCTIBLE_CLASS>;
    constructibleType: string | null;
    cost: number;
    name: string | null;
    population: number;
    adjacentDistrict: string | null;
    adjacentLake: boolean | null;
    adjacentRiver: boolean | null;
    adjacentTerrain: string | null;
    age: TObjectValues<typeof AGE> | null;
    archaeology: boolean | null;
    canBeHidden: boolean | null;
    costProgressionModel: string | null;
    costProgressionParam1: number | null;
    defense: number | null;
    description: string | null;
    discovery: boolean | null;
    districtDefense: boolean | null;
    existingDistrictOnly: boolean | null;
    immuneDamage: boolean | null;
    inRailNetwork: boolean | null;
    militaryDomain: string | null;
    noFeature: boolean | null;
    noRiver: boolean | null;
    productionBoostOverRoute: number | null;
    repairable: boolean | null;
    requiresAppealPlacement: boolean | null;
    requiresDistantLands: boolean | null;
    requiresHomeland: boolean | null;
    requiresUnlock: boolean | null;
    riverPlacement: string | null;
    tooltip: string | null;
    victoryItem: boolean | null;
    constructor(payload?: Partial<TConstructibleNode>);
}
