/** * Government Agent * * Represents a real-world government with political structure, * state capacity, and decision-making capabilities * * @module core/Government */ import { GovernmentType, GovernmentTypeCharacteristics } from './GovernmentType.js'; import { StateCapacity } from './StateCapacity.js'; /** * Government configuration */ export interface GovernmentConfig { /** ISO 3166-1 alpha-3 country code */ countryCode: string; /** Country name */ countryName: string; /** Government type */ type: GovernmentType; /** State capacity metrics */ capacity: StateCapacity; /** Population (millions) */ population: number; /** GDP (billions USD, PPP) */ gdpPPP: number; /** Current year of government data */ year: number; } /** * Government Agent * * Core political actor in simulation */ export declare class Government { readonly countryCode: string; readonly countryName: string; readonly type: GovernmentType; readonly capacity: StateCapacity; readonly population: number; readonly gdpPPP: number; readonly year: number; readonly characteristics: GovernmentTypeCharacteristics; constructor(config: GovernmentConfig); /** * Get base policy response time for this government * Accounts for government type characteristics */ getBasePolicyResponseTime(): number; /** * Get policy success rate for this government * Accounts for state capacity */ getPolicySuccessRate(): number; /** * Get implementation noise for this government * Higher values = more corruption/inefficiency */ getImplementationNoise(): number; /** * Get AI comprehension lag for this government * How long to understand new AI capabilities (months) */ getAIComprehensionLag(): number; /** * Can this government hold early elections? */ canHoldEarlyElections(): boolean; /** * Does this government require coalition formation? */ requiresCoalitions(): boolean; /** * Get decision-making speed relative to baseline * Higher = faster decisions */ getDecisionSpeed(): number; /** * String representation */ toString(): string; }