import type { NobjcObject } from "objc-js";
import type { _NSDictionary } from "../Foundation/NSDictionary.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { AVSemanticSegmentationMatteType } from "./AVSemanticSegmentationMatteType.js";
export declare class _AVSemanticSegmentationMatte extends _NSObject {
    static alloc(): _AVSemanticSegmentationMatte;
    static new(): _AVSemanticSegmentationMatte;
    init(): _AVSemanticSegmentationMatte;
    /**
     * @method semanticSegmentationMatteFromDictionaryRepresentation:error: @abstract Returns an AVSemanticSegmentationMatte instance from auxiliary image information in an image file. @param imageSourceAuxiliaryDataType The kCGImageAuxiliaryDataType constant corresponding to the semantic segmentation matte being created (see <ImageIO/CGImageProperties.h>. @param imageSourceAuxiliaryDataInfoDictionary A dictionary of primitive semantic segmentation matte related information obtained from CGImageSourceCopyAuxiliaryDataInfoAtIndex. @param outError On return, if the semantic segmentation matte cannot be created, points to an NSError describing the problem. @result An AVSemanticSegmentationMatte instance, or nil if the auxiliary data info dictionary was malformed. @discussion When using ImageIO framework's CGImageSource API to read from a HEIF or JPEG file containing a semantic segmentation matte, AVSemanticSegmentationMatte can be instantiated using the result of CGImageSourceCopyAuxiliaryDataInfoAtIndex, which returns a CFDictionary of primitive segmentation matte information.
     */
    static semanticSegmentationMatteFromImageSourceAuxiliaryDataType$dictionaryRepresentation$error$(imageSourceAuxiliaryDataType: Uint8Array, imageSourceAuxiliaryDataInfoDictionary: _NSDictionary, outError: NobjcObject | null): _AVSemanticSegmentationMatte | null;
    /**
     * @method semanticSegmentationMatteByApplyingExifOrientation: @abstract Returns a derivative AVSemanticSegmentationMatte instance in which the specified Exif orientation has been applied. @param exifOrientation One of the 8 standard Exif orientation tags expressing how the matte should be rotated / mirrored. @result An AVSemanticSegmentationMatte's instance. @discussion When applying simple 90 degree rotation or mirroring edits to media containing a semantic segmentation matte, you may use this initializer to create a derivative copy of the matte in which the specified orientation is applied. This method throws an NSInvalidArgumentException if you pass an unrecognized exifOrientation.
     */
    semanticSegmentationMatteByApplyingExifOrientation$(exifOrientation: NobjcObject): _AVSemanticSegmentationMatte;
    /**
     * @method semanticSegmentationMatteByReplacingSemanticSegmentationMatteWithPixelBuffer:error: @abstract Returns an AVSemanticSegmentationMatte instance wrapping the replacement pixel buffer. @param pixelBuffer A pixel buffer containing a semantic segmentation matting image, represented as kCVPixelFormatType_OneComponent8 with a kCVImageBufferTransferFunction_Linear transfer function. @param outError On return, if the AVSemanticSegmentationMatte cannot be created, points to an NSError describing the problem. @result An AVSemanticSegmentationMatte instance, or nil if the pixel buffer is malformed. @discussion When applying complex edits to media containing a semantic segmentation matte, you may create a derivative matte with arbitrary transforms applied to it, then use this initializer to create a new AVSemanticSegmentationMatte.
     */
    semanticSegmentationMatteByReplacingSemanticSegmentationMatteWithPixelBuffer$error$(pixelBuffer: NobjcObject, outError: NobjcObject | null): _AVSemanticSegmentationMatte | null;
    /**
     * @method dictionaryRepresentationForAuxiliaryDataType: @abstract Returns a dictionary of primitive map information to be used when writing an image file with a semantic segmentation matte. @param outAuxDataType On output, the auxiliary data type to be used when calling CGImageDestinationAddAuxiliaryDataInfo. Currently supported auxiliary data types are enumerated in <ImageIO/CGImageProperties.h> @result A dictionary of CGImageDestination compatible semantic segmentation matte information, or nil if the auxDataType is unsupported. @discussion When using ImageIO framework's CGImageDestination API to write semantic segmentation matte information to a HEIF or JPEG file, you may use this method to generate a dictionary of primitive map information consumed by CGImageDestinationAddAuxiliaryDataInfo.
     */
    dictionaryRepresentationForAuxiliaryDataType$(outAuxDataType: NobjcObject | null): _NSDictionary | null;
    /**
     * @property matteType @abstract Specifies the receiver's semantic segmentation matting image type. @discussion An AVSemanticSegmentationMatte's matteType is immutable for the life of the object.
     */
    matteType(): AVSemanticSegmentationMatteType;
    /**
     * @property pixelFormatType @abstract Specifies the pixel format type of this object's internal matting image. @discussion Currently the only supported CV pixel format type for the matting image is kCVPixelFormatType_OneComponent8.
     */
    pixelFormatType(): number;
    /**
     * @property mattingImage @abstract Provides access to the semantic segmentation matte's internal image. @discussion The pixel format can be queried using the pixelFormatType property.
     */
    mattingImage(): NobjcObject;
}
