import type { DatabaseSync } from 'node:sqlite'; import type { TeamCodexEvent } from './team-codex-contract.js'; import { type CodexTimingSource } from './team-codex-turn-timing.js'; type Completion = { turnId: string; kind: 'Stop' | 'Interrupt'; text: string; at: number; truncated: boolean; }; /** Event-driven local projection. Only already-authorized turns in an exact bound rollout * are eligible. Public commentary is separate from terminal events and never cloud-uploaded. * Native indexes/cursors are private to this account; no Hook command or trust is changed. */ export declare class TeamCodexLiveUpdates { private readonly db; private readonly locator; private readonly subscriptions; private epoch; private work; constructor(db: DatabaseSync, home?: string); fence(): void; idle(): Promise; schedule(owner: number, source: CodexTimingSource, events: readonly TeamCodexEvent[], valid: () => boolean, complete?: (value: Completion) => void): void; project(owner: number, source: CodexTimingSource, events: readonly TeamCodexEvent[]): TeamCodexEvent[]; private wake; private run; private deliver; private scan; } export {}; //# sourceMappingURL=team-codex-live-updates.d.ts.map