/**
 * JSON Format Handler
 *
 * Handles JSON serialization/deserialization with streaming support
 */
import { EventEmitter } from "node:events";
import type { IFormatHandler, SupportedFormat, ValidationResult } from "../../types/porter-types";
export declare class JSONFormatHandler extends EventEmitter implements IFormatHandler {
    readonly format: SupportedFormat;
    readonly supportedOperations: ("read" | "write" | "stream")[];
    private readonly maxDepth;
    private readonly maxStringLength;
    private readonly maxArrayLength;
    /**
     * Validate JSON data structure
     */
    validate(data: unknown, schema?: unknown): Promise<ValidationResult>;
    /**
     * Serialize data to JSON
     */
    serialize(data: unknown, options?: unknown): Promise<string>;
    /**
     * Deserialize JSON string to data
     */
    deserialize(data: string, options?: unknown): Promise<unknown>;
    /**
     * Stream serialize data to JSON
     */
    streamSerialize(data: AsyncIterable<unknown>, options?: unknown): AsyncIterable<Buffer>;
    /**
     * Stream deserialize JSON to data
     */
    streamDeserialize(data: AsyncIterable<Buffer>, options?: unknown): AsyncIterable<unknown>;
    /**
     * Check for circular references
     */
    private hasCircularReferences;
    /**
     * Calculate object depth
     */
    private calculateDepth;
    /**
     * Check string lengths recursively
     */
    private checkStringLengths;
    /**
     * Check array sizes recursively
     */
    private checkArraySizes;
    /**
     * Validate against JSON schema (basic implementation)
     */
    private validateAgainstSchema;
    /**
     * Get format-specific health status
     */
    getHealthStatus(): {
        status: "healthy" | "degraded" | "unhealthy";
        details: unknown;
    };
}
