import type { NobjcObject } from "objc-js";
import type { _ITLibAlbum } from "./ITLibAlbum.js";
import type { _ITLibArtist } from "./ITLibArtist.js";
import type { _ITLibArtwork } from "./ITLibArtwork.js";
import type { _ITLibMediaEntity } from "./ITLibMediaEntity.js";
import type { _ITLibMediaItemVideoInfo } from "./ITLibMediaItemVideoInfo.js";
import type { _NSDate } from "../Foundation/NSDate.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { _NSURL } from "../Foundation/NSURL.js";
import type { ITLibMediaItemLocationType } from "./ITLibMediaItemLocationType.js";
import type { ITLibMediaItemLyricsContentRating } from "./ITLibMediaItemLyricsContentRating.js";
import type { ITLibMediaItemMediaKind } from "./ITLibMediaItemMediaKind.js";
import type { ITLibMediaItemPlayStatus } from "./ITLibMediaItemPlayStatus.js";
export declare class _ITLibMediaItem extends _ITLibMediaEntity {
    static alloc(): _ITLibMediaItem;
    static new(): _ITLibMediaItem;
    init(): _ITLibMediaItem;
    /** The title of this media item. May be empty. */
    title(): _NSString;
    /**
     * The title of this media item that should be used for sorting purposes. If nil, use the title field.
     */
    sortTitle(): _NSString | null;
    /** The artist associated with this media item. */
    artist(): _ITLibArtist | null;
    /** The name of the composer associated with this media item. May be empty. */
    composer(): _NSString;
    /**
     * The name of the composer associated with this media item that should be used for sorting purposes. If nil, use the composer field.
     */
    sortComposer(): _NSString | null;
    /** The rating of this media item. */
    rating(): number;
    /** Whether this media item's rating is computed. */
    ratingComputed(): boolean;
    /**
     * If non-zero, the actual time playback for this media item will start instead of 0:00 (in milliseconds).
     */
    startTime(): number;
    /**
     * If non-zero, the actual time playback for this media item will stop vs. the total time (in milliseconds).
     */
    stopTime(): number;
    /** The album where this media item belongs. */
    album(): _ITLibAlbum;
    /** The genre associated with this media item. May be empty. */
    genre(): _NSString;
    /** This media item's file kind (ex. MPEG audio file). */
    kind(): _NSString | null;
    /** This media item's media kind. */
    mediaKind(): ITLibMediaItemMediaKind;
    /**
     * The size in bytes of this media item on disk.
     * @deprecated
     */
    fileSize(): number;
    /**
     * The size in bytes of this media item on disk. (deprecated: use fileSize instead)
     * @deprecated
     */
    size(): number;
    /** The length of this media item in milliseconds. */
    totalTime(): number;
    /** The position of this media item within its album. */
    trackNumber(): number;
    /** The podcast category of this media item (implies this media item is a podcast). */
    category(): _NSString | null;
    /** The content rating of this media item's lyrics. */
    lyricsContentRating(): ITLibMediaItemLyricsContentRating;
    /** The extended content rating of this media item. */
    contentRating(): _NSString | null;
    /** The date and time this media item was last modified. */
    modifiedDate(): _NSDate | null;
    /** The date and media item this media item was added to the iTunes database. */
    addedDate(): _NSDate | null;
    /** The bitrate of this media item in kbps. */
    bitrate(): number;
    /** The sample rate of this media item in samples per second. */
    sampleRate(): number;
    /** The BPM (beats per minute) of this media item. */
    beatsPerMinute(): number;
    /** The number of times this media item has been played in iTunes. */
    playCount(): number;
    /**
     * The date and time this media item was last played in iTunes, or nil if this media item has not been played.
     */
    lastPlayedDate(): _NSDate | null;
    /** added in 12.4 */
    playStatus(): ITLibMediaItemPlayStatus;
    /** The location of this media item on disk. */
    location(): _NSURL | null;
    /** Whether this media item has artwork. */
    artworkAvailable(): boolean;
    /** Whether this media item has artwork. */
    artwork(): _ITLibArtwork | null;
    /** Any comments associated with this media item. */
    comments(): _NSString | null;
    /** Whether this media item was purchased. */
    purchased(): boolean;
    /** Whether this media item is iTunes Match or iTunes in the Cloud. */
    cloud(): boolean;
    /** Whether this media item is DRM protected. */
    drmProtected(): boolean;
    /** Whether this media item is a video media item (video podcast, movie, etc). */
    video(): boolean;
    /**
     * The video information of this media item (implies this media item is a video media item).
     */
    videoInfo(): _ITLibMediaItemVideoInfo | null;
    /** The date this media item was released. */
    releaseDate(): _NSDate | null;
    /**
     * The year when this media item was released.
     * @deprecated
     */
    year(): number;
    /**
     * The type of the file this media item refers to.
     * @deprecated
     */
    fileType(): number;
    /** The number of times this media item has been skiped. */
    skipCount(): number;
    /**
     * The date and time when this media item was last skipped.
     * @deprecated
     */
    skipDate(): _NSDate | null;
    /**
     * The voice-over language of this media item
     * @deprecated
     */
    voiceOverLanguage(): NobjcObject;
    /** The volume adjustment used for this media item if any. */
    volumeAdjustment(): number;
    /** The volume normalization energy applied to this media item. */
    volumeNormalizationEnergy(): number;
    /** Whether the user has disabled this media item. */
    userDisabled(): boolean;
    /** The grouping of this media item. */
    grouping(): _NSString | null;
    /** The type of this media item with respect to its location. */
    locationType(): ITLibMediaItemLocationType;
}
