/**
 * Event queue operations core module.
 *
 * Extracted from hooks/handlers/post-tool-use.ts (queue append)
 * and hooks/handlers/stop-sync.ts (flush + dedup).
 *
 * Operates on .specweave/state/event-queue/pending.jsonl.
 * Never throws.
 *
 * @module core/sync/event-queue-ops
 */
export interface QueuedEvent {
    event?: string;
    incrementId?: string;
    timestamp?: string;
    data?: Record<string, unknown>;
}
export interface QueueResult {
    queued: number;
}
export interface FlushResult {
    flushed: number;
    incrementIds: string[];
    events: QueuedEvent[];
}
/**
 * Append an event to the pending queue.
 */
export declare function queueEvent(stateDir: string, event: string, incrementId: string, timestamp: string, data?: Record<string, unknown>): QueueResult;
/**
 * Read all pending events without clearing.
 */
export declare function readPendingEvents(stateDir: string): QueuedEvent[];
/**
 * Flush the event queue: read, deduplicate by increment ID, clear.
 * Returns the unique increment IDs and events that were flushed.
 */
export declare function flushEventQueue(stateDir: string): FlushResult;
//# sourceMappingURL=event-queue-ops.d.ts.map