import type { NobjcObject } from "objc-js";
import type { _PHAssetCollection } from "./PHAssetCollection.js";
import type { _PHContentEditingInput } from "./PHContentEditingInput.js";
import type { _PHContentEditingInputRequestOptions } from "./PHContentEditingInputRequestOptions.js";
import type { _PHFetchOptions } from "./PHFetchOptions.js";
import type { _PHFetchResult } from "./PHFetchResult.js";
import type { _PHObject } from "./PHObject.js";
import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSDate } from "../Foundation/NSDate.js";
import type { _NSDictionary } from "../Foundation/NSDictionary.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { _UTType } from "../UniformTypeIdentifiers/UTType.js";
import type { PHAssetBurstSelectionType } from "./PHAssetBurstSelectionType.js";
import type { PHAssetEditOperation } from "./PHAssetEditOperation.js";
import type { PHAssetMediaSubtype } from "./PHAssetMediaSubtype.js";
import type { PHAssetMediaType } from "./PHAssetMediaType.js";
import type { PHAssetSourceType } from "./PHAssetSourceType.js";
import type { PHAssetPlaybackStyle } from "../PhotosUI/PHAssetPlaybackStyle.js";
export declare class _PHAsset extends _PHObject {
    static alloc(): _PHAsset;
    static new(): _PHAsset;
    init(): _PHAsset;
    static fetchAssetsInAssetCollection$options$(assetCollection: _PHAssetCollection, options: _PHFetchOptions | null): _PHFetchResult;
    /** includes hidden assets by default */
    static fetchAssetsWithLocalIdentifiers$options$(identifiers: _NSArray, options: _PHFetchOptions | null): _PHFetchResult;
    static fetchKeyAssetsInAssetCollection$options$(assetCollection: _PHAssetCollection, options: _PHFetchOptions | null): _PHFetchResult | null;
    static fetchAssetsWithBurstIdentifier$options$(burstIdentifier: _NSString, options: _PHFetchOptions | null): _PHFetchResult;
    /**
     * Fetches PHAssetSourceTypeUserLibrary assets by default (use includeAssetSourceTypes option to override)
     * @deprecated Will be removed in a future release
     */
    static fetchAssetsWithOptions$(options: _PHFetchOptions | null): _PHFetchResult;
    /** @deprecated Will be removed in a future release */
    static fetchAssetsWithMediaType$options$(mediaType: PHAssetMediaType, options: _PHFetchOptions | null): _PHFetchResult;
    /**
     * assetURLs are URLs retrieved from ALAsset's ALAssetPropertyAssetURL
     * @deprecated Will be removed in a future release
     */
    static fetchAssetsWithALAssetURLs$options$(assetURLs: _NSArray, options: _PHFetchOptions | null): _PHFetchResult;
    canPerformEditOperation$(editOperation: PHAssetEditOperation): boolean;
    /** Completion and progress handlers are called on an arbitrary serial queue. */
    requestContentEditingInputWithOptions$completionHandler$(options: _PHContentEditingInputRequestOptions | null, completionHandler: ((contentEditingInput: _PHContentEditingInput, info: _NSDictionary) => void) | null): number;
    cancelContentEditingInputRequest$(requestID: number): void;
    /**
     * Playback style describes how the asset should be presented to the user (regardless of the backing media for that asset). Use this value to choose the type of view and the appropriate APIs on the PHImageManager to display this asset
     */
    playbackStyle(): PHAssetPlaybackStyle;
    mediaType(): PHAssetMediaType;
    mediaSubtypes(): PHAssetMediaSubtype;
    /** The type of image or video data that is presented for the asset */
    contentType(): _UTType;
    pixelWidth(): number;
    pixelHeight(): number;
    /** The date and time of this asset's creation (can be updated by the user) */
    creationDate(): _NSDate | null;
    /**
     * The date and time of the last modification to this asset or one of its properties
     */
    modificationDate(): _NSDate | null;
    /**
     * The date and time this asset was added to the photo library (from the device that was used to add this asset)
     */
    addedDate(): _NSDate;
    location(): NobjcObject | null;
    duration(): number;
    /**
     * a hidden asset will be excluded from moment collections, but may still be included in other smart or regular album collections
     * @deprecated No longer supported
     */
    hidden(): boolean;
    /** @deprecated No longer supported */
    favorite(): boolean;
    /**
     * deprecated, will always return NO for now.
     * @deprecated No longer supported
     */
    syncFailureHidden(): boolean;
    burstIdentifier(): _NSString;
    burstSelectionTypes(): PHAssetBurstSelectionType;
    representsBurst(): boolean;
    sourceType(): PHAssetSourceType;
    hasAdjustments(): boolean;
    /** only applies to adjusted assets */
    adjustmentFormatIdentifier(): _NSString | null;
}
