import type { NobjcObject } from "objc-js";
import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSCopying } from "../Foundation/NSCopying.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSSecureCoding } from "../Foundation/NSSecureCoding.js";
export declare class _CMIOExtensionPropertyAttributes extends _NSObject {
    static alloc(): _CMIOExtensionPropertyAttributes;
    static new(): _CMIOExtensionPropertyAttributes;
    init(): _CMIOExtensionPropertyAttributes;
    /**
     * @method propertyAttributesWithMinValue:maxValue:validValues:readonly: @abstract Returns a property attributes instance. @param minValue The minimum value of the property. @param maxValue The maximum value of the property. @param validValues The array of valid values. @param readOnly A readOnly flag. @result A CMIOExtensionPropertyAttributes instance that describes the attributes of a property. @discussion Property attributes may contain a minValue in which case the property is bounded by a minimum value. Property attributes may contain a maxValue in which case the property is bounded by a maximum value. Property attributes may contain both minValue and maxValue in which case the property is bounded within a range. Property attributes may contain a validValues in which case the property is discrete and can only have a certain set of value. If a property does not have a minValue/maxValue/validValues attributes, the property can have any value.
     */
    static propertyAttributesWithMinValue$maxValue$validValues$readOnly$(minValue: NobjcObject | null, maxValue: NobjcObject | null, validValues: _NSArray | null, readOnly: boolean): _CMIOExtensionPropertyAttributes;
    /**
     * @property readOnlyPropertyAttribute @abstract The class property representing a readOnly property attribute with no minValue/maxValue/validValues.
     */
    static readOnlyPropertyAttribute(): _CMIOExtensionPropertyAttributes;
    /**
     * @method propertyAttributesWithMinValue:maxValue:validValues:readonly: @abstract Initialize a property attributes instance. @param minValue The minimum value of the property. @param maxValue The maximum value of the property. @param validValues The array of valid values. @param readOnly A readOnly flag. @result A CMIOExtensionPropertyAttributes instance that describes the attributes of a property. @discussion Property attributes may contain a minValue in which case the property is bounded by a minimum value. Property attributes may contain a maxValue in which case the property is bounded by a maximum value. Property attributes may contain both minValue and maxValue in which case the property is bounded within a range. Property attributes may contain a validValues in which case the property is discrete and can only have a certain set of value. If a property does not have a minValue/maxValue/validValues attributes, the property can have any value.
     */
    initWithMinValue$maxValue$validValues$readOnly$(minValue: NobjcObject | null, maxValue: NobjcObject | null, validValues: _NSArray | null, readOnly: boolean): _CMIOExtensionPropertyAttributes;
    /** @property minValue @abstract The minimum value of a property. */
    minValue(): NobjcObject | null;
    /** @property maxValue @abstract The maximum value of a property. */
    maxValue(): NobjcObject | null;
    /** @property validValues @abstract An array of valid values. */
    validValues(): _NSArray | null;
    /** @property readOnly @abstract The readOnly flag attribute. */
    readOnly(): boolean;
}
export interface _CMIOExtensionPropertyAttributes extends _NSCopying, _NSSecureCoding {
}
