import type { WebSocketInputWithModels, WebSocketEvent } from './types';
import type { AmplifyModelType } from '../../queries/types';
/**
 * Build standardized log context for WebSocket operations
 */
export declare function buildWebSocketContext<TTypes extends Record<string, AmplifyModelType> = Record<string, AmplifyModelType>>(input: WebSocketInputWithModels<TTypes>, additionalContext?: Record<string, unknown>): Record<string, unknown>;
/**
 * Extract basic event information for logging
 */
export declare function extractEventInfo(event: WebSocketEvent): Record<string, unknown>;
/**
 * Safely parse JSON body with error handling
 */
export declare function parseJsonBody(body: string | undefined, context: Record<string, unknown>): unknown;
/**
 * Setup structured logging for WebSocket middleware
 */
export declare function setupStructuredLogging<TTypes extends Record<string, AmplifyModelType> = Record<string, AmplifyModelType>>(input: WebSocketInputWithModels<TTypes>, forceStructuredLogging?: boolean, defaultContext?: Record<string, unknown>): void;
/**
 * Check if event is a MESSAGE type
 */
export declare function isMessageEvent(event: WebSocketEvent): boolean;
/**
 * Extract error message safely
 */
export declare function getErrorMessage(error: unknown): string;
/**
 * Get error stack trace if available
 */
export declare function getErrorStack(error: unknown): string | undefined;
/**
 * Build error context with WebSocket information
 */
export declare function buildErrorContext<TTypes extends Record<string, AmplifyModelType> = Record<string, AmplifyModelType>>(input: WebSocketInputWithModels<TTypes>, error: {
    code?: string;
    statusCode?: number;
} | null, additionalContext?: Record<string, unknown>): Record<string, unknown>;
//# sourceMappingURL=utils.d.ts.map