import { BaseError } from './BaseError.js';
/**
 * Base class for communication-related errors.
 */
export declare class CommunicationError extends BaseError {
    constructor(message: string, metadata?: Record<string, unknown>);
}
/**
 * Thrown when network request times out.
 */
export declare class TimeoutError extends CommunicationError {
    constructor(operation: string, timeoutMs: number);
}
/**
 * Thrown when network connection fails.
 */
export declare class NetworkError extends CommunicationError {
    constructor(message: string, details?: Record<string, unknown>);
}
/**
 * Thrown when message protocol parsing fails.
 */
export declare class ProtocolError extends CommunicationError {
    constructor(message: string, protocol?: string, details?: Record<string, unknown>);
}
/**
 * Thrown when MQTT connection fails.
 */
export declare class MQTTConnectionError extends CommunicationError {
    constructor(reason: string);
}
/**
 * Thrown when local network connection fails.
 */
export declare class LocalNetworkError extends CommunicationError {
    constructor(ip: string, port: number, reason: string);
}
/**
 * Thrown when API request fails.
 */
export declare class APIError extends CommunicationError {
    constructor(url: string, statusCode?: number, responseBody?: unknown);
}
/**
 * Thrown when message serialization fails.
 */
export declare class SerializationError extends CommunicationError {
    constructor(message: string, data?: unknown);
}
/**
 * Thrown when message deserialization fails.
 */
export declare class DeserializationError extends CommunicationError {
    constructor(message: string, rawData?: unknown);
}
//# sourceMappingURL=CommunicationError.d.ts.map