import { type ProbeRegistry } from '../probe/registry.js'; import type { AgentBusEventListener } from '../types/bus/index.js'; import type { SessionId } from '../types/ids/index.js'; import type { Logger } from '../utils/logger.js'; import { CircuitBreaker } from './breaker.js'; import { FileLockManager } from './lock.js'; import { EditOwnershipTracker } from './ownership.js'; export interface AgentBusConfig { enabled: boolean; lockTimeoutMs: number; lockAcquireTimeoutMs: number; maxLocksPerAgent: number; breakerFailureThreshold: number; breakerResetTimeoutMs: number; } export declare class AgentBus { readonly locks: FileLockManager; readonly ownership: EditOwnershipTracker; readonly breaker: CircuitBreaker; private readonly listeners; private readonly log; private readonly config; private readonly probes; constructor(log: Logger, config?: Partial, probeRegistry?: ProbeRegistry); on(listener: AgentBusEventListener): () => void; private emit; cleanupAgent(sessionId: SessionId): void; maintenance(): void; } export { CircuitBreaker } from './breaker.js'; export { FileLockManager } from './lock.js'; export type { FileLockManagerConfig } from './lock.js'; export { EditOwnershipTracker } from './ownership.js'; export type { AgentBusEvent, AgentBusEventListener, CircuitBreakerSnapshot, CircuitBreakerState, FileLock, FileOwnership, LockAcquireResult, LockId, OwnershipClaimResult, } from '../types/bus/index.js'; //# sourceMappingURL=index.d.ts.map