import { type EventComponent, type EventEnvelope, type EventLevel, type OperationId } from './types.js'; export interface EventReadQuery { nodeId?: string; component?: EventComponent; operationId?: OperationId; sinceMs?: number; untilMs?: number; minimumLevel?: EventLevel; pattern?: string; } export interface CanonicalReadItem { kind: 'event'; envelope: EventEnvelope; source: string; streamKey: string; generation: 2 | 1 | 0; byteOffset: number; effectiveTsMs: number; /** True when this item's source omitted content: the reader's fixed byte * bound cut its start, or the same file also contained a corrupt/mismatched * line. Constant across every item from one source file. */ truncated: boolean; } export interface RawReadItem { kind: 'raw'; component: 'daemon' | 'broker'; source: string; content: string; effectiveTsMs: number; /** True when the reader's fixed byte bound cut this source's start. */ truncated: boolean; } export type LogSnapshotItem = CanonicalReadItem | RawReadItem; export interface LogSnapshotResult { items: LogSnapshotItem[]; invalidCanonicalLines: number; } export type Tier1Event = Pick; export declare function readLogSnapshot(query: EventReadQuery, includeRaw: boolean): LogSnapshotResult; export declare function projectTier1Event(envelope: EventEnvelope): Tier1Event;