import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSDate } from "../Foundation/NSDate.js";
import type { _NSError } from "../Foundation/NSError.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSSecureCoding } from "../Foundation/NSSecureCoding.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { _NSUUID } from "../Foundation/NSUUID.js";
import type { _MPMediaPlaylist } from "./MPMediaPlaylist.js";
import type { _MPMediaPlaylistCreationMetadata } from "./MPMediaPlaylistCreationMetadata.js";
import type { MPMediaLibraryAuthorizationStatus } from "./MPMediaLibraryAuthorizationStatus.js";
export declare class _MPMediaLibrary extends _NSObject {
    static alloc(): _MPMediaLibrary;
    static new(): _MPMediaLibrary;
    init(): _MPMediaLibrary;
    static defaultMediaLibrary(): _MPMediaLibrary;
    static authorizationStatus(): MPMediaLibraryAuthorizationStatus;
    static requestAuthorization$(completionHandler: (status: MPMediaLibraryAuthorizationStatus) => void): void;
    /** MPMediaLibraryDidChangeNotification will be posted when a sync happens. */
    beginGeneratingLibraryChangeNotifications(): void;
    endGeneratingLibraryChangeNotifications(): void;
    addItemWithProductID$completionHandler$(productID: _NSString, completionHandler: ((entities: _NSArray, error: _NSError) => void) | null): void;
    /**
     * Finds the playlist associated with the UUID. If the playlist exists, the creation metadata is ignored. If no such playlist exists and creation metadata is valid, a playlist associated the UUID will be created. @discussion The UUID should typically be pre-generated to avoid creating a new playlist with every call.
     */
    getPlaylistWithUUID$creationMetadata$completionHandler$(uuid: _NSUUID, creationMetadata: _MPMediaPlaylistCreationMetadata | null, completionHandler: ((playlist: _MPMediaPlaylist, error: _NSError) => void) | null): void;
    /** Returns the date at which the media library was last modified. */
    lastModifiedDate(): _NSDate;
}
export interface _MPMediaLibrary extends _NSSecureCoding {
}
