/**
 * [outlook-mcp] structured logger.
 *
 * Every log line is prefixed `[outlook-mcp]` and rendered as `key=value` pairs
 * (Pino-compatible shape). Bearer tokens and `access_token=` query strings are
 * redacted before writing — defense in depth even though tools never log them.
 */
export declare function redact(value: string): string;
/**
 * Log an event line. The first key in `fields` (typically `event`) becomes the
 * top-level event tag; remaining keys are rendered as `k=v` pairs.
 *
 *   log({ event: "mail-list", account: "abc", count: 25, elapsedMs: 320 })
 *     → [outlook-mcp] mail-list account=abc count=25 elapsedMs=320
 */
export declare function log(fields: {
    event: string;
} & Record<string, unknown>): void;
/** Truncate a string to N chars, replacing the tail with `…` if it overflowed. */
export declare function trunc(value: string, max: number): string;
/** Hex-prefix of a SHA-256 challenge for log identification (8 chars). */
export declare function challengePrefix(challenge: string): string;
//# sourceMappingURL=log.d.ts.map