import type { ToolResult } from './types.js'; /** * Redacts literal values in a J1QL query, preserving structure (entity types, operators, * property names) so query *shape* is captured for usage analytics without literal values. * * Ported from query-engine's `redactCypher` (sdk-graph/src/cypher/redact.ts), adapted for J1QL * (single- and double-quoted literals). The patterns span escaped quotes (`\'` / `\"`) so a * literal is always replaced in full; imperfect boundaries only ever over-redact, never leak. * * A regex literal is a value too, and `WITH email = /alice@corp\.com/i` used to reach telemetry * verbatim. Its pattern is replaced and the flags are kept: the flags say how the match behaves * without carrying any of the account's data. Strings are redacted FIRST, so a slash inside a * quoted literal is already gone and cannot open a regex that swallows the rest of the query. */ export declare function redactJ1ql(query: string): string; export declare function truncateReason(reason: string): string; /** Allowlisted, sanitized summary of tool inputs for usage telemetry. */ export declare function summarizeInput(params: Record): Record; /** * Result metadata (counts, pagination, status) derived from the structured payload. * * The tool name is read for exactly one lift — the created board's id, below — because a * top-level `id` means a different thing on every tool that returns one. */ export declare function summarizeResult(result: ToolResult, toolName?: string): Record; //# sourceMappingURL=usage.d.ts.map