import { BaseCircuit, Body, Circuit, Color, IntelliCenterParams, Panel, Pump } from './types';
import { Logger } from 'homebridge';
export declare const updateCircuit: (circuit: Circuit | Body, params: IntelliCenterParams) => void;
export declare const updateBody: (body: Body, params: IntelliCenterParams) => void;
export declare const updatePump: (pump: Pump, params: IntelliCenterParams) => void;
export declare const findBodyCircuit: (body: Body, circuits: unknown[]) => BaseCircuit | undefined;
export declare const transformPanels: (response: Record<string, unknown> | null, includeAllCircuits?: boolean, logger?: Logger) => ReadonlyArray<Panel>;
export declare const fahrenheitToCelsius: (fValue: number) => number;
export declare const celsiusToFahrenheit: (cValue: number) => number;
export declare const getIntelliBriteColor: (hue: number, saturation: number) => Color;
export declare const isObject: (object: Record<string, unknown>) => boolean;
/**
 * Utility functions for merging dynamic JSON responses from IntelliCenter hardware.
 * Uses Record<string, unknown> to handle the unpredictable nested JSON structures
 * from the IntelliCenter API while maintaining type safety.
 */
type MergeableObject = Record<string, unknown>;
type MergeableArray = MergeableObject[];
export declare const mergeResponseArray: (target: MergeableArray, responseToAdd: MergeableArray) => void;
export declare const mergeResponse: (target: MergeableObject, responseToAdd: MergeableObject) => void;
export {};
//# sourceMappingURL=util.d.ts.map