import type { MetricsReport, ProjectFingerprint, SessionSummary } from "./types"; /** Maximum number of session summary entries to keep in the JSONL file */ export declare const MAX_SESSION_ENTRIES = 1000; /** * Ensure the analytics directory exists, creating it if needed. * Returns the absolute path to the analytics directory. */ export declare function ensureAnalyticsDir(directory: string): string; /** * Append a session summary to the JSONL file. * Auto-creates the analytics directory if needed. * Rotates the file to at most MAX_SESSION_ENTRIES when the threshold is exceeded. */ export declare function appendSessionSummary(directory: string, summary: SessionSummary): boolean; /** * Read all session summaries from the JSONL file. * Returns an empty array if the file doesn't exist or is unparseable. */ export declare function readSessionSummaries(directory: string): SessionSummary[]; /** * Write a project fingerprint to the analytics directory. * Auto-creates the analytics directory if needed. */ export declare function writeFingerprint(directory: string, fingerprint: ProjectFingerprint): boolean; /** * Read the project fingerprint from the analytics directory. * Returns null if the file doesn't exist or is unparseable. */ export declare function readFingerprint(directory: string): ProjectFingerprint | null; /** * Write a metrics report to the JSONL file. * Auto-creates the analytics directory if needed. * Appends the report and rotates if exceeding MAX_METRICS_ENTRIES. */ export declare function writeMetricsReport(directory: string, report: MetricsReport): boolean; /** * Read all metrics reports from the JSONL file. * Returns an empty array if the file doesn't exist or is unparseable. */ export declare function readMetricsReports(directory: string): MetricsReport[];