import type { NobjcObject } from "objc-js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSSecureCoding } from "../Foundation/NSSecureCoding.js";
import type { _NSSet } from "../Foundation/NSSet.js";
import type { _NSString } from "../Foundation/NSString.js";
export declare class _MPMediaEntity extends _NSObject {
    static alloc(): _MPMediaEntity;
    static new(): _MPMediaEntity;
    init(): _MPMediaEntity;
    /**
     * Returns YES for properties which can be used to construct MPMediaPropertyPredicates.
     */
    static canFilterByProperty$(property: _NSString): boolean;
    /**
     * Executes a provided block with the fetched values for the given item properties, or nil if no value is available for a property. In some cases, enumerating the values for multiple properties can be more efficient than fetching each individual property with -valueForProperty:.
     */
    enumerateValuesForProperties$usingBlock$(properties: _NSSet, block: (property: _NSString, value: NobjcObject, stop: NobjcObject) => void): void;
    /**
     * Read-only support for Objective-C subscripting syntax with MPMediaEntity property constants.
     */
    objectForKeyedSubscript$(key: NobjcObject): NobjcObject | null;
    /**
     * Returns the value for the given entity property. MPMediaItem and MPMediaPlaylist have their own properties
     */
    valueForProperty$(property: _NSString): NobjcObject | null;
    persistentID(): number;
}
export interface _MPMediaEntity extends _NSSecureCoding {
}
