import type { SimEvent } from '../../types/events.ts'; import { ComponentType } from '../../types/components.ts'; import type { SimComponent, SimContext, ComponentConfig, ComponentMetrics } from '../../types/components.ts'; import type { DatabaseConfig } from '../../types/configs.ts'; /** * Database component: processes work units with separate read/write latency * distributions, connection pool limits, and load-dependent latency scaling. */ export declare class Database implements SimComponent { readonly id: string; readonly type = ComponentType.DATABASE; readonly config: ComponentConfig; private dbConfig; private activeConnections; private waitQueue; private crashed; private latencySpikeMultiplier; private totalProcessed; private totalRejected; constructor(id: string, dbConfig: DatabaseConfig); handleEvent(event: SimEvent, context: SimContext): SimEvent[]; private handleArrival; private handleDeparture; private startProcessing; private computeServiceTime; private getUtilization; private recordUtilization; setCrashed(crashed: boolean): void; setLatencySpike(multiplier: number): void; getMetrics(): ComponentMetrics; reset(): void; } //# sourceMappingURL=database.d.ts.map