import type { AuditEntry } from "@danielblomma/cortex-core/audit/writer"; import type { TelemetryMetrics } from "@danielblomma/cortex-core/telemetry/collector"; export declare const OUTBOUND_DATA_BOUNDARY: { readonly version: 1; readonly excludes: readonly ["source_code", "raw_prompts", "raw_queries", "embeddings", "graph_data", "full_file_contents"]; readonly telemetry: { readonly retention_days: 30; readonly payload_type: "counts_and_metadata_only"; readonly allowed_fields: readonly ["period_start", "period_end", "total_tool_calls", "successful_tool_calls", "failed_tool_calls", "total_duration_ms", "session_starts", "session_ends", "session_duration_ms_total", "searches", "related_lookups", "caller_lookups", "trace_lookups", "impact_analyses", "rule_lookups", "reloads", "total_results_returned", "estimated_tokens_saved", "estimated_tokens_total", "client_version", "instance_id", "session_id", "tool_metrics"]; }; readonly audit: { readonly required_retention_days: 365; readonly diagnostic_retention_days: 30; readonly redaction: "string values are summarized to counts/lengths before outbound push"; }; }; type TelemetryPushContext = { session_id?: string; }; export declare function sanitizeOutboundRecord(record: Record | undefined): Record; export declare function sanitizeAuditEntryForPush(entry: AuditEntry): AuditEntry; export declare function buildTelemetryPushPayload(metrics: TelemetryMetrics, context?: TelemetryPushContext): { period_start: string; period_end: string; total_tool_calls: number; successful_tool_calls: number; failed_tool_calls: number; total_duration_ms: number; session_starts: number; session_ends: number; session_duration_ms_total: number; searches: number; related_lookups: number; caller_lookups: number; trace_lookups: number; impact_analyses: number; rule_lookups: number; reloads: number; total_results_returned: number; estimated_tokens_saved: number; estimated_tokens_total: number; client_version: string; instance_id: string; session_id: string | undefined; tool_metrics: Record; }; export {}; //# sourceMappingURL=boundary.d.ts.map