import type { _NSDictionary } from "../Foundation/NSDictionary.js";
import type { _NSNumber } from "../Foundation/NSNumber.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { MTRAccessControlEntryPrivilege } from "./MTRAccessControlEntryPrivilege.js";
export declare class _MTRServerAttribute extends _NSObject {
    static alloc(): _MTRServerAttribute;
    static new(): _MTRServerAttribute;
    init(): _MTRServerAttribute;
    /**
     * Create an attribute description for a FeatureMap attribute with the provided value (expected to be an unsigned integer representing the value of the bitmap). This will automatically set requiredPrivilege to the right value for FeatureMap.
     */
    static newFeatureMapAttributeWithInitialValue$(value: _NSNumber): _MTRServerAttribute;
    /**
     * Initialize as a readonly attribute. The value is a data-value as documented in MTRBaseDevice.h. Will fail if the attribute ID is not valid per the Matter specification or the attribute value is not a valid data-value. requiredPrivilege is the privilege required to read the attribute. This initializer may fail if the provided attributeID is a global attribute and the provided requiredPrivilege value is not correct for that attribute ID.
     */
    initReadonlyAttributeWithID$initialValue$requiredPrivilege$(attributeID: _NSNumber, value: _NSDictionary, requiredPrivilege: MTRAccessControlEntryPrivilege): _MTRServerAttribute | null;
    /**
     * Change the value of the attribute to a new value. The value is a data-value as documented in MTRBaseDevice.h. Will fail if the attribute is not a valid data-value.
     */
    setValue$(value: _NSDictionary): boolean;
    attributeID(): _NSNumber;
    value(): _NSDictionary;
    /** The privilege level necessary to read this attribute. */
    requiredReadPrivilege(): MTRAccessControlEntryPrivilege;
    writable(): boolean;
}
