import { DataType } from "./definition/enums";
import { type FoundationDefinition } from "./definition/foundation";
import type { Attribute, Cluster, ClusterName, Command, CustomClusters, Parameter } from "./definition/tstype";
export declare function isAnalogDataType(dataType: DataType): boolean;
export declare function getCluster(key: string | number, manufacturerCode?: number | undefined, customClusters?: CustomClusters): Cluster;
export declare function getClusterAttribute(cluster: Cluster, key: number | string, manufacturerCode: number | undefined): Attribute | undefined;
export declare function getClusterCommand(cluster: Cluster, key: number | string): Command;
export declare function getClusterCommandResponse(cluster: Cluster, key: number | string): Command;
export declare function getGlobalCommand(key: number | string): FoundationDefinition;
export declare function isClusterName(name: string): name is ClusterName;
export declare function getFoundationCommand(id: number): FoundationDefinition;
export declare function getFoundationCommandByName(name: string): FoundationDefinition;
export declare function processAttributeWrite<T>(attribute: Attribute, value: T): T;
export declare function processAttributePreRead(attribute: Attribute): void;
export declare function processAttributePostRead<T>(attribute: Attribute, value: T): T;
export declare function processParameterWrite<T>(parameter: Parameter, value: T): T;
export declare function processParameterRead<T>(parameter: Parameter, value: T): T;
//# sourceMappingURL=utils.d.ts.map