/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { Branded } from "#general";
import { TlvWrapper } from "../tlv/TlvWrapper.js";
import { VendorId } from "./VendorId.js";
/**
 * A Cluster Identifier is a 32 bit number and SHALL reference a single cluster specification and
 * SHALL define conformance to that specification.
 *
 * @see {@link MatterSpecification.v10.Core} § 7.10
 */
export type ClusterId = Branded<number, "ClusterId">;
export declare function ClusterId(clusterId: number, validate?: boolean): ClusterId;
export declare namespace ClusterId {
    const isVendorSpecific: (clusterId: ClusterId) => boolean;
    const isValid: (clusterId: number, validate?: boolean | undefined) => boolean;
    const buildVendorSpecific: (vendorPrefix: VendorId, clusterSuffix: number) => ClusterId;
}
/** Tlv schema for a cluster Id. */
export declare const TlvClusterId: TlvWrapper<ClusterId, number>;
//# sourceMappingURL=ClusterId.d.ts.map