import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { _MPMediaItemArtwork } from "./MPMediaItemArtwork.js";
export declare class _MPContentItem extends _NSObject {
    static alloc(): _MPContentItem;
    static new(): _MPContentItem;
    init(): _MPContentItem;
    /**
     * Designated initializer. A unique identifier is required to identify the item for later use.
     */
    initWithIdentifier$(identifier: _NSString): _MPContentItem;
    /** A unique identifier for this content item. (Required) */
    identifier(): _NSString;
    /**
     * A title for this item. Usually this would be the track name, if representing a song, the episode name of a podcast, etc.
     */
    title(): _NSString | null;
    setTitle$(value: _NSString | null): void;
    /**
     * A subtitle for this item. If this were representing a song, this would usually be the artist or composer.
     */
    subtitle(): _NSString | null;
    setSubtitle$(value: _NSString | null): void;
    /**
     * Artwork for this item. Examples of artwork for a content item are the album cover for a song, or a movie poster for a movie.
     */
    artwork(): _MPMediaItemArtwork | null;
    setArtwork$(value: _MPMediaItemArtwork | null): void;
    /**
     * Represents the current playback progress of the item. 0.0 = not watched/listened/viewed, 1.0 = fully watched/listened/viewed Default is -1.0 (no progress indicator shown)
     */
    playbackProgress(): number;
    setPlaybackProgress$(value: number): void;
    /**
     * Represents whether this content item is streaming content, i.e. from the cloud where the content is not stored locally.
     */
    streamingContent(): boolean;
    setStreamingContent$(value: boolean): void;
    /** Represents whether this content item is explicit content */
    explicitContent(): boolean;
    setExplicitContent$(value: boolean): void;
    /**
     * Represents whether the content item is a container that may contain other content items, e.g. an album or a playlist.
     */
    container(): boolean;
    setContainer$(value: boolean): void;
    /**
     * Represents whether the content item is actionable from a playback perspective. Albums are playable, for example, because selecting an album for playback means the app should play each song in the album in order. An example of a content item that may not be playable is a genre, since an app experience typically doesn't involve selecting an entire genre for playback.
     */
    playable(): boolean;
    setPlayable$(value: boolean): void;
}
