/**
 * emitters/compaction.ts
 *
 * Typed emission wrappers for the CompactionEvent domain.
 *
 * All emitter functions follow the same signature pattern as other domain
 * emitters: (bus, ctx, data) → void.
 */
import type { RuntimeEventBus } from '../events/index.js';
import type { EmitterContext } from './index.js';
/** Emit COMPACTION_CHECK when a threshold check is triggered. */
export declare function emitCompactionCheck(bus: RuntimeEventBus, ctx: EmitterContext, data: {
    sessionId: string;
    tokenCount: number;
    threshold: number;
}): void;
/** Emit COMPACTION_MICROCOMPACT after a micro-compaction run. */
export declare function emitCompactionMicrocompact(bus: RuntimeEventBus, ctx: EmitterContext, data: {
    sessionId: string;
    turnCount: number;
    tokensBefore: number;
    tokensAfter: number;
}): void;
/** Emit COMPACTION_COLLAPSE after a collapse compaction run. */
export declare function emitCompactionCollapse(bus: RuntimeEventBus, ctx: EmitterContext, data: {
    sessionId: string;
    messageCount: number;
    tokensBefore: number;
    tokensAfter: number;
}): void;
/** Emit COMPACTION_AUTOCOMPACT when auto-compaction is triggered. */
export declare function emitCompactionAutocompact(bus: RuntimeEventBus, ctx: EmitterContext, data: {
    sessionId: string;
    strategy: string;
    tokensBefore: number;
    tokensAfter: number;
}): void;
/** Emit COMPACTION_REACTIVE when reactive compaction is triggered. */
export declare function emitCompactionReactive(bus: RuntimeEventBus, ctx: EmitterContext, data: {
    sessionId: string;
    tokenCount: number;
    limit: number;
}): void;
/** Emit COMPACTION_BOUNDARY_COMMIT when a boundary commit is persisted. */
export declare function emitCompactionBoundaryCommit(bus: RuntimeEventBus, ctx: EmitterContext, data: {
    sessionId: string;
    checkpointId: string;
}): void;
/** Emit COMPACTION_DONE when a compaction lifecycle run completes successfully. */
export declare function emitCompactionDone(bus: RuntimeEventBus, ctx: EmitterContext, data: {
    sessionId: string;
    strategy: string;
    tokensBefore: number;
    tokensAfter: number;
    durationMs: number;
}): void;
/** Emit COMPACTION_RESUME_REPAIR after a session resume repair pipeline run. */
export declare function emitCompactionResumeRepair(bus: RuntimeEventBus, ctx: EmitterContext, data: {
    sessionId: string;
    repaired: boolean;
    actionsCount: number;
    safeToResume: boolean;
}): void;
/** Emit COMPACTION_QUALITY_SCORE after scoring a strategy run. */
export declare function emitCompactionQualityScore(bus: RuntimeEventBus, ctx: EmitterContext, data: {
    sessionId: string;
    strategy: string;
    score: number;
    grade: string;
    compressionRatio: number;
    retentionScore: number;
    isLowQuality: boolean;
    description: string;
}): void;
/** Emit COMPACTION_STRATEGY_SWITCH when auto-escalation changes strategy due to low quality. */
export declare function emitCompactionStrategySwitch(bus: RuntimeEventBus, ctx: EmitterContext, data: {
    sessionId: string;
    fromStrategy: string;
    toStrategy: string;
    reason: string;
    score: number;
}): void;
/** Emit COMPACTION_FAILED when a compaction lifecycle run fails. */
export declare function emitCompactionFailed(bus: RuntimeEventBus, ctx: EmitterContext, data: {
    sessionId: string;
    strategy: string;
    error: string;
}): void;
//# sourceMappingURL=compaction.d.ts.map