agentjs-core
Version:
A comprehensive agent-based modeling framework with built-in p5.js visualization
39 lines • 1.41 kB
TypeScript
import { EventEmitter } from 'eventemitter3';
import type { Agent } from './agents/Agent';
import type { Environment } from './environment/Environment';
import type { Scheduler } from './scheduling/Scheduler';
import type { NetworkManager } from './network/NetworkManager';
import { AgentManager } from './AgentManager';
export interface SimulationRunConfig {
maxSteps?: number;
stepInterval?: number;
autoStart?: boolean;
}
export declare class Simulation extends EventEmitter {
private agentManager;
private environment;
private scheduler;
private networkManager;
private config;
private currentStep;
private isRunning;
private stepTimer;
constructor(environment: Environment, scheduler: Scheduler, networkManager?: NetworkManager, config?: SimulationRunConfig);
start(): void;
stop(): void;
step(): void;
reset(): void;
addAgent(agent: Agent): void;
removeAgent(agent: Agent): void;
getAllAgents(): readonly Agent[];
getAgent(id: string): Agent | undefined;
getCurrentStep(): number;
getEnvironment(): Environment;
getScheduler(): Scheduler;
getNetworkManager(): NetworkManager | undefined;
getAgentManager(): AgentManager;
isSimulationRunning(): boolean;
getConfig(): SimulationRunConfig;
updateConfig(newConfig: Partial<SimulationRunConfig>): void;
}
//# sourceMappingURL=Simulation.d.ts.map