import { type BehaviorEventType } from '../../domain/behavior/behavior-event-types.js'; export interface BehaviorEventPayload { readonly budgetState?: { readonly estimatedTokens: number; readonly hardCap: number; }; readonly tokensBeforeAfter?: { readonly before: number; readonly after: number; }; readonly suppressionCounts?: { readonly total: number; readonly suppressed: number; }; readonly automatic?: boolean; readonly [key: string]: unknown; } export interface BehaviorEvent { readonly eventId: string; readonly eventType: BehaviorEventType; readonly occurredAt: string; readonly schemaVersion: string; readonly runtimeSessionId: string; readonly taskId?: string; readonly correlationId?: string; readonly payload: BehaviorEventPayload; } export type BehaviorEventListener = (event: BehaviorEvent) => void; export declare class BehaviorEventEmitter { private readonly runtimeSessionId; private readonly listeners; constructor(runtimeSessionId: string); onEvent(listener: BehaviorEventListener): () => void; private notifyListeners; private buildEvent; emitContextLoad(payload?: BehaviorEventPayload, options?: { readonly taskId?: string; readonly correlationId?: string; }): BehaviorEvent; emitCompaction(payload: BehaviorEventPayload & { readonly tokensBeforeAfter: { readonly before: number; readonly after: number; }; }, options?: { readonly taskId?: string; readonly correlationId?: string; }): BehaviorEvent; emitBudgetWarning(payload: BehaviorEventPayload & { readonly budgetState: { readonly estimatedTokens: number; readonly hardCap: number; }; }, options?: { readonly taskId?: string; readonly correlationId?: string; }): BehaviorEvent; emitBudgetExceeded(payload: BehaviorEventPayload & { readonly budgetState: { readonly estimatedTokens: number; readonly hardCap: number; }; }, options?: { readonly taskId?: string; readonly correlationId?: string; }): BehaviorEvent; emitHistoryExpansion(payload?: BehaviorEventPayload, options?: { readonly taskId?: string; readonly correlationId?: string; }): BehaviorEvent; emitDuplicateSuppressed(payload: BehaviorEventPayload & { readonly suppressionCounts: { readonly total: number; readonly suppressed: number; }; }, options?: { readonly taskId?: string; readonly correlationId?: string; }): BehaviorEvent; emitSubagentBrief(payload?: BehaviorEventPayload, options?: { readonly taskId?: string; readonly correlationId?: string; }): BehaviorEvent; emitResponseProfile(payload?: BehaviorEventPayload, options?: { readonly taskId?: string; readonly correlationId?: string; }): BehaviorEvent; emitMemoryRotation(payload?: BehaviorEventPayload & { readonly automatic?: boolean; }, options?: { readonly taskId?: string; readonly correlationId?: string; }): BehaviorEvent; emitContextSummary(payload?: BehaviorEventPayload, options?: { readonly taskId?: string; readonly correlationId?: string; }): BehaviorEvent; emitContextDelta(payload?: BehaviorEventPayload, options?: { readonly taskId?: string; readonly correlationId?: string; }): BehaviorEvent; emitSubagentRun(payload?: BehaviorEventPayload, options?: { readonly taskId?: string; readonly correlationId?: string; }): BehaviorEvent; emitContextLoadStarted(payload?: BehaviorEventPayload, options?: { readonly taskId?: string; readonly correlationId?: string; }): BehaviorEvent; emitCompactionTriggered(payload?: BehaviorEventPayload, options?: { readonly taskId?: string; readonly correlationId?: string; }): BehaviorEvent; emitMemoryRotationStarted(payload?: BehaviorEventPayload, options?: { readonly taskId?: string; readonly correlationId?: string; }): BehaviorEvent; emitHistoryExpansionDenied(payload?: BehaviorEventPayload, options?: { readonly taskId?: string; readonly correlationId?: string; }): BehaviorEvent; emitSubagentBriefRewritten(payload?: BehaviorEventPayload, options?: { readonly taskId?: string; readonly correlationId?: string; }): BehaviorEvent; emitSubagentBriefRejected(payload?: BehaviorEventPayload, options?: { readonly taskId?: string; readonly correlationId?: string; }): BehaviorEvent; emitSubagentRunStarted(payload?: BehaviorEventPayload, options?: { readonly taskId?: string; readonly correlationId?: string; }): BehaviorEvent; emitArtifactPointerPromoted(payload?: BehaviorEventPayload, options?: { readonly taskId?: string; readonly correlationId?: string; }): BehaviorEvent; emitResponseProfileOverridden(payload?: BehaviorEventPayload, options?: { readonly taskId?: string; readonly correlationId?: string; }): BehaviorEvent; emitStartupFilesGenerated(payload?: BehaviorEventPayload, options?: { readonly taskId?: string; readonly correlationId?: string; }): BehaviorEvent; emitWorkspaceDiscoveryCompleted(payload?: BehaviorEventPayload, options?: { readonly taskId?: string; readonly correlationId?: string; }): BehaviorEvent; emitWorkspaceDiagnosisCompleted(payload?: BehaviorEventPayload, options?: { readonly taskId?: string; readonly correlationId?: string; }): BehaviorEvent; emitRecommendationGenerated(payload?: BehaviorEventPayload, options?: { readonly taskId?: string; readonly correlationId?: string; }): BehaviorEvent; emitInstallPlanCreated(payload?: BehaviorEventPayload, options?: { readonly taskId?: string; readonly correlationId?: string; }): BehaviorEvent; emitInstallOperationApplied(payload?: BehaviorEventPayload, options?: { readonly taskId?: string; readonly correlationId?: string; }): BehaviorEvent; emitInstallCompleted(payload?: BehaviorEventPayload, options?: { readonly taskId?: string; readonly correlationId?: string; }): BehaviorEvent; emitInstallValidationCompleted(payload?: BehaviorEventPayload, options?: { readonly taskId?: string; readonly correlationId?: string; }): BehaviorEvent; emitCompactionStrategySelected(payload?: BehaviorEventPayload, options?: { readonly taskId?: string; readonly correlationId?: string; }): BehaviorEvent; emitCompactionValidationCompleted(payload?: BehaviorEventPayload, options?: { readonly taskId?: string; readonly correlationId?: string; }): BehaviorEvent; emitMemoryRotationFailed(payload?: BehaviorEventPayload, options?: { readonly taskId?: string; readonly correlationId?: string; }): BehaviorEvent; emitCommandStarted(payload?: BehaviorEventPayload, options?: { readonly taskId?: string; readonly correlationId?: string; }): BehaviorEvent; emitCommandCompleted(payload?: BehaviorEventPayload, options?: { readonly taskId?: string; readonly correlationId?: string; }): BehaviorEvent; emitCommandFailed(payload?: BehaviorEventPayload, options?: { readonly taskId?: string; readonly correlationId?: string; }): BehaviorEvent; emitSessionStarted(payload?: BehaviorEventPayload, options?: { readonly taskId?: string; readonly correlationId?: string; }): BehaviorEvent; emitSessionEnded(payload?: BehaviorEventPayload, options?: { readonly taskId?: string; readonly correlationId?: string; }): BehaviorEvent; emitLoopTraceRecorded(payload: BehaviorEventPayload & { readonly traceId: string; readonly score: number; }, options?: { readonly taskId?: string; readonly correlationId?: string; }): BehaviorEvent; emitLoopPatternExtracted(payload: BehaviorEventPayload & { readonly patternCount: number; readonly newPatterns: number; }, options?: { readonly taskId?: string; readonly correlationId?: string; }): BehaviorEvent; emitLoopTuningApplied(payload: BehaviorEventPayload & { readonly tuningId: string; readonly parameter: string; readonly oldValue: unknown; readonly newValue: unknown; }, options?: { readonly taskId?: string; readonly correlationId?: string; }): BehaviorEvent; emitLoopTuningReverted(payload: BehaviorEventPayload & { readonly tuningId: string; readonly parameter: string; }, options?: { readonly taskId?: string; readonly correlationId?: string; }): BehaviorEvent; emitLoopBundleExported(payload: BehaviorEventPayload & { readonly bundleId: string; readonly outputPath: string; }, options?: { readonly taskId?: string; readonly correlationId?: string; }): BehaviorEvent; emitLoopBundleImported(payload: BehaviorEventPayload & { readonly bundleId: string; readonly patternsAdded: number; readonly patternsUpdated: number; }, options?: { readonly taskId?: string; readonly correlationId?: string; }): BehaviorEvent; } //# sourceMappingURL=behavior-event-emitter.d.ts.map