import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSSecureCoding } from "../Foundation/NSSecureCoding.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { CGRect } from "../structs/CGRect.js";
export declare class _PHProjectRegionOfInterest extends _NSObject {
    static alloc(): _PHProjectRegionOfInterest;
    static new(): _PHProjectRegionOfInterest;
    init(): _PHProjectRegionOfInterest;
    /**
     * Rect of the regionOfInterest in unit coordinates. For example: {(0.25, 0.25), (0.5, 0.5)} The coordinate system is based on the dimensions of the asset's current version. It does not take PHProjectAssetElement.cropRect into account.
     */
    rect(): CGRect;
    /**
     * Significance of the regionOfInterest in the overall project context is provided as a weight score. All regions of interest with the same identifier in the project have the same weight. For projects doing things like animation or transition between assets, focusing on the highest weighted regions of interest will ensure that the presentation represents something that is most meaningful to the user. Value range is a double between 0.0 and 1.0. Default is 0.5.
     */
    weight(): number;
    /**
     * Quality of the represented region of interest in the asset. Different regions of interest with the same identifier may have different quality values. If the project wants to decide between multiple assets containing the same region of interest, the quality score can be used to pick the best representation of the region of interest. Value range is a double between 0.0 and 1.0.
     */
    quality(): number;
    /**
     * Identifier of the region of interest. Regions representing the same person or object will have the same identifier across multiple assets.
     */
    identifier(): _NSString;
}
export interface _PHProjectRegionOfInterest extends _NSSecureCoding {
}
