import type { _NSCopying } from "../Foundation/NSCopying.js";
import type { _NSNumber } from "../Foundation/NSNumber.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSSecureCoding } from "../Foundation/NSSecureCoding.js";
import type { _MTRDescriptorClusterDeviceTypeStruct } from "./MTRDescriptorClusterDeviceTypeStruct.js";
import type { _MTRDeviceType } from "./MTRDeviceType.js";
export declare class _MTRDeviceTypeRevision extends _NSObject {
    static alloc(): _MTRDeviceTypeRevision;
    static new(): _MTRDeviceTypeRevision;
    init(): _MTRDeviceTypeRevision;
    /**
     * The provided deviceTypeID must be in the range 0xVVVV0000-0xVVVVBFFF, where VVVV is the vendor identifier (0 for standard device types). The provided deviceTypeRevision must be in the range 1-65535.
     */
    initWithDeviceTypeID$revision$(deviceTypeID: _NSNumber, revision: _NSNumber): _MTRDeviceTypeRevision | null;
    /** Initializes the receiver based on the values in the specified struct. */
    initWithDeviceTypeStruct$(deviceTypeStruct: _MTRDescriptorClusterDeviceTypeStruct): _MTRDeviceTypeRevision | null;
    deviceTypeID(): _NSNumber;
    deviceTypeRevision(): _NSNumber;
    /**
     * Returns the MTRDeviceType corresponding to deviceTypeID, or nil if deviceTypeID does not represent a known device type.
     */
    typeInformation(): _MTRDeviceType | null;
}
export interface _MTRDeviceTypeRevision extends _NSCopying, _NSSecureCoding {
}
