import type { HookEvent, AgentRecord } from '../../types.js';
export interface AgentUpdate {
    agentId: string;
    agentType: string;
    sessionId: string;
    startedAt?: string;
    stoppedAt?: string;
}
export interface EventQueryOptions {
    sessionId?: string;
    eventType?: string;
    limit?: number;
}
export interface AgentQueryOptions {
    sessionId?: string;
    status?: 'running' | 'stopped';
}
export interface StoreStats {
    totalEvents: number;
    activeSessions: number;
    activeAgents: number;
}
export declare class HookEventStore {
    private projectRoot;
    private eventsBySession;
    private agents;
    private eventsFilePath;
    private agentsFilePath;
    private totalEventCount;
    private fileSizes;
    private dirEnsured;
    constructor(projectRoot: string);
    addEvent(event: HookEvent): void;
    updateAgent(data: AgentUpdate): void;
    getEvents(opts?: EventQueryOptions): HookEvent[];
    getAgents(opts?: AgentQueryOptions): AgentRecord[];
    getStats(): StoreStats;
    flush(): void;
    hydrate(): Promise<void>;
    cleanup(): void;
    private hydrateFile;
    private ensureDir;
    private getFileSize;
    private appendJSONL;
}
//# sourceMappingURL=hook-event-store.d.ts.map