import type { Registry } from './index.js';
import type { Policy } from './types.js';
/**
 * JSON-RPC message structure for MCP
 */
export interface JsonRpcMessage {
    jsonrpc: '2.0';
    id?: string | number | null;
    method?: string;
    params?: unknown;
    result?: unknown;
    error?: {
        code: number;
        message: string;
        data?: unknown;
    };
}
/**
 * Options for MCP redaction processing
 */
export interface MCPRedactionOptions {
    /** Registry for PII detection */
    registry: Registry;
    /** Policy overrides for redaction */
    policy?: Policy;
    /** Whether to preserve JSON-RPC structure integrity */
    preserveStructure?: boolean;
    /** Whether to redact only specific JSON paths */
    targetPaths?: string[];
    /** Buffer size for line-based processing */
    lineBufferSize?: number;
}
/**
 * Parse line-delimited JSON messages commonly used in MCP
 */
export declare function parseJsonLines(text: string): JsonRpcMessage[];
/**
 * Validate JSON-RPC message structure
 */
export declare function isValidJsonRpcMessage(obj: unknown): obj is JsonRpcMessage;
/**
 * Extract potentially sensitive content from JSON-RPC message
 */
export declare function extractSensitiveContent(message: JsonRpcMessage): string[];
/**
 * Redact PII from JSON-RPC message while preserving structure
 */
export declare function redactJsonRpcMessage(message: JsonRpcMessage, options: Pick<MCPRedactionOptions, 'registry' | 'policy'>): Promise<JsonRpcMessage>;
/**
 * Create a transform stream for MCP line-delimited JSON processing
 */
export declare function createMCPRedactionTransform(options: MCPRedactionOptions): TransformStream<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>;
/**
 * Utility to check if text contains JSON-RPC patterns
 */
export declare function containsJsonRpcPattern(text: string): boolean;
/**
 * Extract method names from JSON-RPC requests for logging/monitoring
 */
export declare function extractMethodName(message: JsonRpcMessage): string | null;
/**
 * Check if message is a request, response, or notification
 */
export declare function getMessageType(message: JsonRpcMessage): 'request' | 'response' | 'notification' | 'error';
//# sourceMappingURL=mcp-utils.d.ts.map