import type { _NSDictionary } from "../Foundation/NSDictionary.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { _CMIOExtensionPropertyState } from "./CMIOExtensionPropertyState.js";
import type { CMIOExtensionProperty } from "./CMIOExtensionProperty.js";
export declare class _CMIOExtensionProviderProperties extends _NSObject {
    static alloc(): _CMIOExtensionProviderProperties;
    static new(): _CMIOExtensionProviderProperties;
    init(): _CMIOExtensionProviderProperties;
    /**
     * @method providerPropertiesWithDictionary: @abstract Return a provider properties instance. @param propertiesDictionary The dictionary of properties. @result A CMIOExtensionProviderProperties instance.
     */
    static providerPropertiesWithDictionary$(propertiesDictionary: _NSDictionary): _CMIOExtensionProviderProperties;
    /**
     * @method initWithDictionary: @abstract Initialize a provider properties instance. @param propertiesDictionary The dictionary of properties. @result A CMIOExtensionProviderProperties instance.
     */
    initWithDictionary$(propertiesDictionary: _NSDictionary): _CMIOExtensionProviderProperties;
    /**
     * @property setPropertyState:forProperty: @abstract Set the property value. @param propertyState The property state. @param property The property key. @discussion Setting nil to propertyState does remove the property.
     */
    setPropertyState$forProperty$(propertyState: _CMIOExtensionPropertyState | null, property: CMIOExtensionProperty): void;
    /**
     * @property name @abstract The provider name. @discussion The property key is CMIOExtensionPropertyProviderName.
     */
    name(): _NSString | null;
    setName$(value: _NSString | null): void;
    /**
     * @property manufacturer @abstract The provider manufacturer. @discussion The property key is CMIOExtensionPropertyProviderManufacturer.
     */
    manufacturer(): _NSString | null;
    setManufacturer$(value: _NSString | null): void;
    /**
     * @property propertiesDictionary @abstract The dictionary of properties. @discussion The dictionary containing all keys and values.
     */
    propertiesDictionary(): _NSDictionary;
    setPropertiesDictionary$(value: _NSDictionary): void;
}
