/// <reference types="@nativescript/objc-node-api" />
/// <reference path="./Runtime.d.ts" />

declare const VNVisionVersionNumber: number;

declare const VNDetectTrajectoriesRequestRevision1: number;

declare const VNHumanBodyPoseObservationJointsGroupNameRightLeg: string;

declare const VNHumanBodyPoseObservationJointsGroupNameLeftArm: string;

declare const VNHumanBodyPoseObservationJointsGroupNameTorso: string;

declare const VNHumanBodyPoseObservationJointNameLeftAnkle: string;

declare const VNHumanBodyPoseObservationJointNameRoot: string;

declare const VNHumanBodyPoseObservationJointNameLeftWrist: string;

declare const VNHumanBodyPoseObservationJointNameLeftElbow: string;

declare const VNHumanBodyPoseObservationJointNameNeck: string;

declare const VNHumanBodyPoseObservationJointNameRightEar: string;

declare const VNHumanBodyPoseObservationJointNameLeftEar: string;

declare const VNBodyLandmarkRegionKeyLeftArm: string;

declare const VNBodyLandmarkKeyRightAnkle: string;

declare const VNBodyLandmarkKeyLeftAnkle: string;

declare const VNBodyLandmarkKeyLeftHip: string;

declare const VNBodyLandmarkKeyRightWrist: string;

declare const VNBodyLandmarkKeyNeck: string;

declare const VNBodyLandmarkKeyRightShoulder: string;

declare const VNBodyLandmarkKeyLeftShoulder: string;

declare const VNBodyLandmarkKeyLeftEar: string;

declare const VNBodyLandmarkKeyLeftEye: string;

declare const VNBodyLandmarkKeyNose: string;

declare const VNDetectHumanHandPoseRequestRevision1: number;

declare const VNHumanHandPoseObservationJointsGroupNameAll: string;

declare const VNHumanHandPoseObservationJointsGroupNameIndexFinger: string;

declare const VNHumanHandPoseObservationJointNameRingDIP: string;

declare const VNHumanHandPoseObservationJointNameMiddleDIP: string;

declare const VNHumanHandPoseObservationJointNameMiddleMCP: string;

declare const VNHumanHandPoseObservationJointNameThumbTip: string;

declare const VNHumanHandPoseObservationJointNameThumbIP: string;

declare const VNGenerateOpticalFlowRequestRevision1: number;

declare const VNRecognizeAnimalsRequestRevision1: number;

declare const VNTranslationalImageRegistrationRequestRevision1: number;

declare const VNImageOptionCIContext: string;

declare const VNCoreMLRequestRevision1: number;

declare const VNGenerateObjectnessBasedSaliencyImageRequestRevision1: number;

declare const VNRecognizeTextRequestRevision2: number;

declare const VNRecognizeTextRequestRevision1: number;

declare const VNDetectRectanglesRequestRevision1: number;

declare const VNDetectHorizonRequestRevision1: number;

declare const VNDetectFaceLandmarksRequestRevision2: number;

declare const VNDetectFaceRectanglesRequestRevision1: number;

declare const VNClassifyImageRequestRevision1: number;

declare const VNRecognizedPoint3DGroupKeyAll: string;

declare const VNNormalizedIdentityRect: CGRect;

declare const VNErrorDomain: string;

declare const VNVideoProcessingOptionTimeInterval: string;

declare const VNBarcodeSymbologyUPCE: string;

declare const VNBarcodeSymbologyQR: string;

declare const VNBarcodeSymbologyPDF417: string;

declare const VNBarcodeSymbologyI2of5Checksum: string;

declare const VNBarcodeSymbologyCode93i: string;

declare const VNBarcodeSymbologyCode93: string;

declare const VNBarcodeSymbologyAztec: string;

declare const VNHumanBodyPoseObservationJointNameLeftKnee: string;

declare const VNImageOptionProperties: string;

declare const VNHumanHandPoseObservationJointNameLittlePIP: string;

declare const VNHumanHandPoseObservationJointNameIndexDIP: string;

declare const VNBodyLandmarkKeyRightEye: string;

declare const VNHumanHandPoseObservationJointsGroupNameRingFinger: string;

declare const VNDetectFaceLandmarksRequestRevision3: number;

declare const VNHumanBodyPoseObservationJointNameRightShoulder: string;

declare const VNVideoProcessingOptionFrameCadence: string;

declare const VNTrackObjectRequestRevision2: number;

declare const VNHumanHandPoseObservationJointNameLittleMCP: string;

declare const VNBodyLandmarkKeyRightKnee: string;

declare const VNBarcodeSymbologyEAN8: string;

declare const VNImageOptionCameraIntrinsics: string;

declare const VNHumanHandPoseObservationJointsGroupNameThumb: string;

declare const VNBodyLandmarkKeyLeftKnee: string;

declare const VNBodyLandmarkKeyRightHip: string;

declare const VNHumanHandPoseObservationJointsGroupNameMiddleFinger: string;

declare const VNBarcodeSymbologyCode39FullASCII: string;

declare const VNDetectContourRequestRevision1: number;

declare const VNBodyLandmarkKeyLeftWrist: string;

declare const VNHumanHandPoseObservationJointNameIndexTip: string;

declare const VNHumanBodyPoseObservationJointNameRightEye: string;

declare const VNHomographicImageRegistrationRequestRevision1: number;

declare const VNRequestRevisionUnspecified: number;

declare const VNHumanBodyPoseObservationJointNameLeftHip: string;

declare const VNBarcodeSymbologyCode39: string;

declare const VNHumanHandPoseObservationJointNameWrist: string;

declare const VNHumanHandPoseObservationJointNameRingMCP: string;

declare const VNBodyLandmarkKeyRoot: string;

declare const VNHumanHandPoseObservationJointNameIndexMCP: string;

declare const VNHumanHandPoseObservationJointNameThumbMP: string;

declare const VNHumanBodyPoseObservationJointNameLeftShoulder: string;

declare const VNHumanBodyPoseObservationJointNameRightKnee: string;

declare const VNBarcodeSymbologyDataMatrix: string;

declare const VNHumanBodyPoseObservationJointsGroupNameFace: string;

declare const VNBodyLandmarkRegionKeyTorso: string;

declare const VNHumanBodyPoseObservationJointsGroupNameRightArm: string;

declare const VNBodyLandmarkRegionKeyLeftLeg: string;

declare const VNHumanBodyPoseObservationJointNameRightAnkle: string;

declare const VNHumanHandPoseObservationJointsGroupNameLittleFinger: string;

declare const VNBarcodeSymbologyCode39Checksum: string;

declare const VNDetectFaceCaptureQualityRequestRevision2: number;

declare const VNDetectFaceRectanglesRequestRevision2: number;

declare const VNHumanBodyPoseObservationJointsGroupNameAll: string;

declare const VNDetectHumanBodyPoseRequestRevision1: number;

declare const VNHumanHandPoseObservationJointNameMiddleTip: string;

declare const VNBodyLandmarkRegionKeyRightLeg: string;

declare const VNHumanHandPoseObservationJointNameRingPIP: string;

declare const VNHumanBodyPoseObservationJointNameRightElbow: string;

declare const VNHumanHandPoseObservationJointNameLittleDIP: string;

declare const VNBodyLandmarkKeyRightElbow: string;

declare const VNHumanHandPoseObservationJointNameMiddlePIP: string;

declare const VNBarcodeSymbologyEAN13: string;

declare const VNBarcodeSymbologyCode39FullASCIIChecksum: string;

declare const VNHumanBodyPoseObservationJointsGroupNameLeftLeg: string;

declare const VNHumanHandPoseObservationJointNameLittleTip: string;

declare const VNBodyLandmarkKeyLeftElbow: string;

declare const VNHumanBodyPoseObservationJointNameNose: string;

declare const VNGenerateImageFeaturePrintRequestRevision1: number;

declare const VNTrackRectangleRequestRevision1: number;

declare const VNHumanHandPoseObservationJointNameRingTip: string;

declare const VNAnimalIdentifierDog: string;

declare const VNDetectTextRectanglesRequestRevision1: number;

declare const VNDetectBarcodesRequestRevision1: number;

declare const VNAnimalIdentifierCat: string;

declare const VNRecognizedPointGroupKeyAll: string;

declare const VNHumanHandPoseObservationJointNameIndexPIP: string;

declare const VNGenerateAttentionBasedSaliencyImageRequestRevision1: number;

declare const VNTrackObjectRequestRevision1: number;

declare const VNBarcodeSymbologyITF14: string;

declare const VNHumanHandPoseObservationJointNameThumbCMC: string;

declare const VNHumanBodyPoseObservationJointNameRightHip: string;

declare const VNBarcodeSymbologyI2of5: string;

declare const VNDetectFaceCaptureQualityRequestRevision1: number;

declare const VNHumanBodyPoseObservationJointNameRightWrist: string;

declare const VNDetectFaceLandmarksRequestRevision1: number;

declare const VNDetectHumanRectanglesRequestRevision1: number;

declare const VNBodyLandmarkKeyRightEar: string;

declare const VNHumanBodyPoseObservationJointNameLeftEye: string;

declare const VNBodyLandmarkRegionKeyFace: string;

declare const VNBarcodeSymbologyCode128: string;

declare const VNBodyLandmarkRegionKeyRightArm: string;

declare const VNGenerateOpticalFlowRequestComputationAccuracy: {
  Low: 0,
  Medium: 1,
  High: 2,
  VeryHigh: 3,
};

declare const VNRequestTrackingLevel: {
  Accurate: 0,
  Fast: 1,
};

declare const VNRequestTextRecognitionLevel: {
  Accurate: 0,
  Fast: 1,
};

declare const VNPointsClassification: {
  Disconnected: 0,
  OpenPath: 1,
  ClosedPath: 2,
};

declare const VNElementType: {
  Unknown: 0,
  Float: 1,
  Double: 2,
};

declare const VNChirality: {
  Unknown: 0,
  Left: -1,
  Right: 1,
};

declare const VNGeneratePersonSegmentationRequestQualityLevel: {
  Accurate: 0,
  Balanced: 1,
  Fast: 2,
};

declare const VNTrackOpticalFlowRequestComputationAccuracy: {
  Low: 0,
  Medium: 1,
  High: 2,
  VeryHigh: 3,
};

declare const VNImageCropAndScaleOption: {
  CenterCrop: 0,
  ScaleFit: 1,
  ScaleFill: 2,
  ScaleFitRotate90CCW: 257,
  ScaleFillRotate90CCW: 258,
};

declare const VNRequestFaceLandmarksConstellation: {
  ConstellationNotDefined: 0,
  Constellation65Points: 1,
  Constellation76Points: 2,
};

declare const VNHumanBodyPose3DObservationHeightEstimation: {
  Reference: 0,
  Measured: 1,
};

declare const VNBarcodeCompositeType: {
  None: 0,
  Linked: 1,
  GS1TypeA: 2,
  GS1TypeB: 3,
  GS1TypeC: 4,
};

declare const VNErrorCode: {
  TuriCoreErrorCode: -1,
  OK: 0,
  RequestCancelled: 1,
  InvalidFormat: 2,
  OperationFailed: 3,
  OutOfBoundsError: 4,
  InvalidOption: 5,
  IOError: 6,
  MissingOption: 7,
  NotImplemented: 8,
  InternalError: 9,
  OutOfMemory: 10,
  UnknownError: 11,
  InvalidOperation: 12,
  InvalidImage: 13,
  InvalidArgument: 14,
  InvalidModel: 15,
  UnsupportedRevision: 16,
  DataUnavailable: 17,
  TimeStampNotFound: 18,
};

declare function VNNormalizedRectIsIdentityRect(normalizedRect: CGRect): boolean;

declare function VNImagePointForNormalizedPoint(normalizedPoint: CGPoint, imageWidth: number, imageHeight: number): CGPoint;

declare function VNNormalizedPointForImagePoint(imagePoint: CGPoint, imageWidth: number, imageHeight: number): CGPoint;

declare function VNImageRectForNormalizedRect(normalizedRect: CGRect, imageWidth: number, imageHeight: number): CGRect;

declare function VNNormalizedRectForImageRect(imageRect: CGRect, imageWidth: number, imageHeight: number): CGRect;

declare function VNNormalizedFaceBoundingBoxPointForLandmarkPoint(faceLandmarkPoint: unknown /* ext vector */, faceBoundingBox: CGRect, imageWidth: number, imageHeight: number): CGPoint;

declare function VNImagePointForFaceLandmarkPoint(faceLandmarkPoint: unknown /* ext vector */, faceBoundingBox: CGRect, imageWidth: number, imageHeight: number): CGPoint;

declare function VNElementTypeSize(elementType: interop.Enum<typeof VNElementType>): number;

declare interface VNFaceObservationAccepting extends NSObjectProtocol {
  get inputFaceObservations(): NSArray;
  set inputFaceObservations(value: NSArray<interop.Object> | Array<interop.Object>);
}

declare class VNFaceObservationAccepting extends NativeObject implements VNFaceObservationAccepting {
}

declare interface VNRequestProgressProviding extends NSObjectProtocol {
  progressHandler: (p1: VNRequest, p2: number, p3: NSError) => void;

  readonly indeterminate: boolean;
}

declare class VNRequestProgressProviding extends NativeObject implements VNRequestProgressProviding {
}

declare interface VNRequestRevisionProviding {
  readonly requestRevision: number;
}

declare class VNRequestRevisionProviding extends NativeObject implements VNRequestRevisionProviding {
}

declare class VNDetectContoursRequest extends VNImageBasedRequest {
  contrastAdjustment: number;

  detectsDarkOnLight: boolean;

  detectDarkOnLight: boolean;

  maximumImageDimension: number;

  readonly results: NSArray;
}

declare class VNHumanHandPoseObservation extends VNRecognizedPointsObservation {
  readonly availableJointNames: NSArray;

  readonly availableJointsGroupNames: NSArray;

  recognizedPointForJointNameError(jointName: string, error: interop.PointerConvertible): VNRecognizedPoint;

  recognizedPointsForJointsGroupNameError(jointsGroupName: string, error: interop.PointerConvertible): NSDictionary;
}

declare class VNVideoProcessorRequestProcessingOptions extends NSObject implements NSCopying {
  cadence: VNVideoProcessorCadence;

  copyWithZone(zone: interop.PointerConvertible): interop.Object;
}

declare class VNTrackRectangleRequest extends VNTrackingRequest {
  initWithRectangleObservation(observation: VNRectangleObservation): this;

  initWithRectangleObservationCompletionHandler(observation: VNRectangleObservation, completionHandler: (p1: VNRequest, p2: NSError) => void | null): this;
}

declare class VNTrackingRequest extends VNImageBasedRequest {
  inputObservation: VNDetectedObjectObservation;

  trackingLevel: interop.Enum<typeof VNRequestTrackingLevel>;

  lastFrame: boolean;

  isLastFrame(): boolean;
}

declare class VNTranslationalImageRegistrationRequest extends VNImageRegistrationRequest {
  readonly results: NSArray;
}

declare class VNImageRegistrationRequest extends VNTargetedImageRequest {
}

declare class VNSequenceRequestHandler extends NSObject {
  init(): this;

  performRequestsOnCVPixelBufferError(requests: NSArray<interop.Object> | Array<interop.Object>, pixelBuffer: interop.Object, error: interop.PointerConvertible): boolean;

  performRequestsOnCVPixelBufferOrientationError(requests: NSArray<interop.Object> | Array<interop.Object>, pixelBuffer: interop.Object, orientation: interop.Enum<typeof CGImagePropertyOrientation>, error: interop.PointerConvertible): boolean;

  performRequestsOnCGImageError(requests: NSArray<interop.Object> | Array<interop.Object>, image: interop.Object, error: interop.PointerConvertible): boolean;

  performRequestsOnCGImageOrientationError(requests: NSArray<interop.Object> | Array<interop.Object>, image: interop.Object, orientation: interop.Enum<typeof CGImagePropertyOrientation>, error: interop.PointerConvertible): boolean;

  performRequestsOnCIImageError(requests: NSArray<interop.Object> | Array<interop.Object>, image: CIImage, error: interop.PointerConvertible): boolean;

  performRequestsOnCIImageOrientationError(requests: NSArray<interop.Object> | Array<interop.Object>, image: CIImage, orientation: interop.Enum<typeof CGImagePropertyOrientation>, error: interop.PointerConvertible): boolean;

  performRequestsOnImageURLError(requests: NSArray<interop.Object> | Array<interop.Object>, imageURL: NSURL, error: interop.PointerConvertible): boolean;

  performRequestsOnImageURLOrientationError(requests: NSArray<interop.Object> | Array<interop.Object>, imageURL: NSURL, orientation: interop.Enum<typeof CGImagePropertyOrientation>, error: interop.PointerConvertible): boolean;

  performRequestsOnImageDataError(requests: NSArray<interop.Object> | Array<interop.Object>, imageData: NSData, error: interop.PointerConvertible): boolean;

  performRequestsOnImageDataOrientationError(requests: NSArray<interop.Object> | Array<interop.Object>, imageData: NSData, orientation: interop.Enum<typeof CGImagePropertyOrientation>, error: interop.PointerConvertible): boolean;

  performRequestsOnCMSampleBufferError(requests: NSArray<interop.Object> | Array<interop.Object>, sampleBuffer: interop.Object, error: interop.PointerConvertible): boolean;

  performRequestsOnCMSampleBufferOrientationError(requests: NSArray<interop.Object> | Array<interop.Object>, sampleBuffer: interop.Object, orientation: interop.Enum<typeof CGImagePropertyOrientation>, error: interop.PointerConvertible): boolean;
}

declare class VNImageRequestHandler extends NSObject {
  initWithCVPixelBufferOptions(pixelBuffer: interop.Object, options: NSDictionary<interop.Object, interop.Object> | Record<interop.Object, interop.Object>): this;

  initWithCVPixelBufferOrientationOptions(pixelBuffer: interop.Object, orientation: interop.Enum<typeof CGImagePropertyOrientation>, options: NSDictionary<interop.Object, interop.Object> | Record<interop.Object, interop.Object>): this;

  initWithCGImageOptions(image: interop.Object, options: NSDictionary<interop.Object, interop.Object> | Record<interop.Object, interop.Object>): this;

  initWithCGImageOrientationOptions(image: interop.Object, orientation: interop.Enum<typeof CGImagePropertyOrientation>, options: NSDictionary<interop.Object, interop.Object> | Record<interop.Object, interop.Object>): this;

  initWithCIImageOptions(image: CIImage, options: NSDictionary<interop.Object, interop.Object> | Record<interop.Object, interop.Object>): this;

  initWithCIImageOrientationOptions(image: CIImage, orientation: interop.Enum<typeof CGImagePropertyOrientation>, options: NSDictionary<interop.Object, interop.Object> | Record<interop.Object, interop.Object>): this;

  initWithURLOptions(imageURL: NSURL, options: NSDictionary<interop.Object, interop.Object> | Record<interop.Object, interop.Object>): this;

  initWithURLOrientationOptions(imageURL: NSURL, orientation: interop.Enum<typeof CGImagePropertyOrientation>, options: NSDictionary<interop.Object, interop.Object> | Record<interop.Object, interop.Object>): this;

  initWithDataOptions(imageData: NSData, options: NSDictionary<interop.Object, interop.Object> | Record<interop.Object, interop.Object>): this;

  initWithDataOrientationOptions(imageData: NSData, orientation: interop.Enum<typeof CGImagePropertyOrientation>, options: NSDictionary<interop.Object, interop.Object> | Record<interop.Object, interop.Object>): this;

  initWithCMSampleBufferOptions(sampleBuffer: interop.Object, options: NSDictionary<interop.Object, interop.Object> | Record<interop.Object, interop.Object>): this;

  initWithCMSampleBufferOrientationOptions(sampleBuffer: interop.Object, orientation: interop.Enum<typeof CGImagePropertyOrientation>, options: NSDictionary<interop.Object, interop.Object> | Record<interop.Object, interop.Object>): this;

  performRequestsError(requests: NSArray<interop.Object> | Array<interop.Object>, error: interop.PointerConvertible): boolean;
}

declare class VNGenerateObjectnessBasedSaliencyImageRequest extends VNImageBasedRequest {
  readonly results: NSArray;
}

declare class VNDetectHorizonRequest extends VNImageBasedRequest {
  readonly results: NSArray;
}

declare class VNRecognizedPoints3DObservation extends VNObservation {
  readonly availableKeys: NSArray;

  readonly availableGroupKeys: NSArray;

  recognizedPointForKeyError(pointKey: string, error: interop.PointerConvertible): VNRecognizedPoint3D;

  recognizedPointsForGroupKeyError(groupKey: string, error: interop.PointerConvertible): NSDictionary;
}

declare class VNRecognizedPointsObservation extends VNObservation {
  readonly availableKeys: NSArray;

  readonly availableGroupKeys: NSArray;

  recognizedPointForKeyError(pointKey: string, error: interop.PointerConvertible): VNRecognizedPoint;

  recognizedPointsForGroupKeyError(groupKey: string, error: interop.PointerConvertible): NSDictionary;

  keypointsMultiArrayAndReturnError(error: interop.PointerConvertible): MLMultiArray;
}

declare class VNFeaturePrintObservation extends VNObservation {
  readonly elementType: interop.Enum<typeof VNElementType>;

  readonly elementCount: number;

  readonly data: NSData;

  computeDistanceToFeaturePrintObservationError(outDistance: interop.PointerConvertible, featurePrint: VNFeaturePrintObservation, error: interop.PointerConvertible): boolean;
}

declare class VNSaliencyImageObservation extends VNPixelBufferObservation {
  readonly salientObjects: NSArray;
}

declare class VNImageTranslationAlignmentObservation extends VNImageAlignmentObservation {
  readonly alignmentTransform: CGAffineTransform;
}

declare class VNHorizonObservation extends VNObservation {
  readonly transform: CGAffineTransform;

  readonly angle: number;
}

declare class VNRecognizedText extends NSObject implements NSCopying, NSSecureCoding, VNRequestRevisionProviding {
  readonly string: string;

  readonly confidence: number;

  boundingBoxForRangeError(range: _NSRange, error: interop.PointerConvertible): VNRectangleObservation;

  copyWithZone(zone: interop.PointerConvertible): interop.Object;

  static readonly supportsSecureCoding: boolean;

  encodeWithCoder(coder: NSCoder): void;

  initWithCoder(coder: NSCoder): this;

  readonly requestRevision: number;
}

declare class VNTrajectoryObservation extends VNObservation {
  readonly detectedPoints: NSArray;

  readonly projectedPoints: NSArray;

  readonly equationCoefficients: unknown /* ext vector */;
}

declare class VNRectangleObservation extends VNDetectedObjectObservation {
  static rectangleObservationWithRequestRevisionTopLeftBottomLeftBottomRightTopRight<This extends abstract new (...args: any) => any>(this: This, requestRevision: number, topLeft: CGPoint, bottomLeft: CGPoint, bottomRight: CGPoint, topRight: CGPoint): InstanceType<This>;

  readonly topLeft: CGPoint;

  readonly topRight: CGPoint;

  readonly bottomLeft: CGPoint;

  readonly bottomRight: CGPoint;
}

declare class VNCoreMLFeatureValueObservation extends VNObservation {
  readonly featureValue: MLFeatureValue;

  readonly featureName: string;
}

declare class VNRecognizedObjectObservation extends VNDetectedObjectObservation {
  readonly labels: NSArray;
}

declare class VNFaceObservation extends VNDetectedObjectObservation {
  static faceObservationWithRequestRevisionBoundingBoxRollYaw<This extends abstract new (...args: any) => any>(this: This, requestRevision: number, boundingBox: CGRect, roll: NSNumber | null, yaw: NSNumber | null): InstanceType<This>;

  readonly landmarks: VNFaceLandmarks2D;

  readonly faceCaptureQuality: NSNumber;

  readonly roll: NSNumber;

  readonly yaw: NSNumber;
}

declare class VNDetectedObjectObservation extends VNObservation {
  static observationWithBoundingBox<This extends abstract new (...args: any) => any>(this: This, boundingBox: CGRect): InstanceType<This>;

  static observationWithRequestRevisionBoundingBox<This extends abstract new (...args: any) => any>(this: This, requestRevision: number, boundingBox: CGRect): InstanceType<This>;

  readonly boundingBox: CGRect;
}

declare class VNObservation extends NSObject implements NSCopying, NSSecureCoding, VNRequestRevisionProviding {
  readonly uuid: NSUUID;

  readonly confidence: number;

  readonly timeRange: CMTimeRange;

  copyWithZone(zone: interop.PointerConvertible): interop.Object;

  static readonly supportsSecureCoding: boolean;

  encodeWithCoder(coder: NSCoder): void;

  initWithCoder(coder: NSCoder): this;

  readonly requestRevision: number;
}

declare class VNDetectedPoint extends VNPoint {
  readonly confidence: number;
}

declare class VNPoint extends NSObject implements NSCopying, NSSecureCoding {
  static readonly zeroPoint: VNPoint;

  static pointByApplyingVectorToPoint(vector: VNVector, point: VNPoint): VNPoint;

  static distanceBetweenPointPoint(point1: VNPoint, point2: VNPoint): number;

  distanceToPoint(point: VNPoint): number;

  initWithXY(x: number, y: number): this;

  initWithLocation(location: CGPoint): this;

  readonly location: CGPoint;

  readonly x: number;

  readonly y: number;

  copyWithZone(zone: interop.PointerConvertible): interop.Object;

  static readonly supportsSecureCoding: boolean;

  encodeWithCoder(coder: NSCoder): void;

  initWithCoder(coder: NSCoder): this;
}

declare class VNFaceLandmarkRegion extends NSObject implements NSCopying, NSSecureCoding, VNRequestRevisionProviding {
  readonly pointCount: number;

  copyWithZone(zone: interop.PointerConvertible): interop.Object;

  static readonly supportsSecureCoding: boolean;

  encodeWithCoder(coder: NSCoder): void;

  initWithCoder(coder: NSCoder): this;

  readonly requestRevision: number;
}

declare class VNImageAlignmentObservation extends VNObservation {
}

declare class VNContour extends NSObject implements NSCopying, VNRequestRevisionProviding {
  readonly indexPath: NSIndexPath;

  readonly childContourCount: number;

  readonly childContours: NSArray;

  childContourAtIndexError(childContourIndex: number, error: interop.PointerConvertible): VNContour;

  readonly pointCount: number;

  readonly normalizedPoints: interop.Pointer;

  readonly normalizedPath: interop.Object;

  readonly aspectRatio: number;

  polygonApproximationWithEpsilonError(epsilon: number, error: interop.PointerConvertible): VNContour;

  copyWithZone(zone: interop.PointerConvertible): interop.Object;

  readonly requestRevision: number;
}

declare class VNDetectHumanRectanglesRequest extends VNImageBasedRequest {
  readonly results: NSArray;
}

declare class VNDetectRectanglesRequest extends VNImageBasedRequest {
  minimumAspectRatio: number;

  maximumAspectRatio: number;

  quadratureTolerance: number;

  minimumSize: number;

  minimumConfidence: number;

  maximumObservations: number;

  readonly results: NSArray;
}

declare class VNDetectFaceLandmarksRequest extends VNImageBasedRequest implements VNFaceObservationAccepting {
  static revisionSupportsConstellation(requestRevision: number, constellation: interop.Enum<typeof VNRequestFaceLandmarksConstellation>): boolean;

  constellation: interop.Enum<typeof VNRequestFaceLandmarksConstellation>;

  readonly results: NSArray;

  get inputFaceObservations(): NSArray;
  set inputFaceObservations(value: NSArray<interop.Object> | Array<interop.Object>);

  isEqual(object: interop.Object): boolean;

  readonly hash: number;

  readonly superclass: interop.Pointer;

  class(): interop.Pointer;

  self(): this;

  performSelector(aSelector: string): interop.Object;

  performSelectorWithObject(aSelector: string, object: interop.Object): interop.Object;

  performSelectorWithObjectWithObject(aSelector: string, object1: interop.Object, object2: interop.Object): interop.Object;

  readonly isProxy: boolean;

  isKindOfClass(aClass: interop.PointerConvertible): boolean;

  isMemberOfClass(aClass: interop.PointerConvertible): boolean;

  conformsToProtocol(aProtocol: interop.PointerConvertible): boolean;

  respondsToSelector(aSelector: string): boolean;

  retain(): this;

  release(): void;

  autorelease(): this;

  retainCount(): number;

  readonly zone: interop.Pointer;

  readonly description: string;

  readonly debugDescription: string;
}

declare class VNVideoProcessorCadence extends NSObject implements NSCopying {
  copyWithZone(zone: interop.PointerConvertible): interop.Object;
}

declare class VNCoreMLModel extends NSObject {
  static modelForMLModelError<This extends abstract new (...args: any) => any>(this: This, model: MLModel, error: interop.PointerConvertible): InstanceType<This>;

  inputImageFeatureName: string;

  featureProvider: MLFeatureProvider;
}

declare class VNHumanBodyPoseObservation extends VNRecognizedPointsObservation {
  readonly availableJointNames: NSArray;

  readonly availableJointsGroupNames: NSArray;

  recognizedPointForJointNameError(jointName: string, error: interop.PointerConvertible): VNRecognizedPoint;

  recognizedPointsForJointsGroupNameError(jointsGroupName: string, error: interop.PointerConvertible): NSDictionary;
}

declare class VNClassifyImageRequest extends VNImageBasedRequest {
  static knownClassificationsForRevisionError(requestRevision: number, error: interop.PointerConvertible): NSArray;

  readonly results: NSArray;
}

declare class VNDetectTrajectoriesRequest extends VNStatefulRequest {
  initWithFrameAnalysisSpacingTrajectoryLengthCompletionHandler(frameAnalysisSpacing: CMTime, trajectoryLength: number, completionHandler: (p1: VNRequest, p2: NSError) => void | null): this;

  readonly trajectoryLength: number;

  objectMinimumNormalizedRadius: number;

  minimumObjectSize: number;

  objectMaximumNormalizedRadius: number;

  maximumObjectSize: number;

  readonly results: NSArray;
}

declare class VNImageBasedRequest extends VNRequest {
  regionOfInterest: CGRect;
}

declare class VNVector extends NSObject implements NSCopying, NSSecureCoding {
  static readonly zeroVector: VNVector;

  static unitVectorForVector(vector: VNVector): VNVector;

  static vectorByMultiplyingVectorByScalar(vector: VNVector, scalar: number): VNVector;

  static vectorByAddingVectorToVector(v1: VNVector, v2: VNVector): VNVector;

  static vectorBySubtractingVectorFromVector(v1: VNVector, v2: VNVector): VNVector;

  static dotProductOfVectorVector(v1: VNVector, v2: VNVector): number;

  initWithXComponentYComponent(x: number, y: number): this;

  initWithRTheta(r: number, theta: number): this;

  initWithVectorHeadTail(head: VNPoint, tail: VNPoint): this;

  readonly x: number;

  readonly y: number;

  readonly r: number;

  readonly theta: number;

  readonly length: number;

  readonly squaredLength: number;

  copyWithZone(zone: interop.PointerConvertible): interop.Object;

  static readonly supportsSecureCoding: boolean;

  encodeWithCoder(coder: NSCoder): void;

  initWithCoder(coder: NSCoder): this;
}

declare class VNVideoProcessorFrameRateCadence extends VNVideoProcessorCadence {
  initWithFrameRate(frameRate: number): this;

  readonly frameRate: number;
}

declare class VNDetectFaceCaptureQualityRequest extends VNImageBasedRequest implements VNFaceObservationAccepting {
  readonly results: NSArray;

  get inputFaceObservations(): NSArray;
  set inputFaceObservations(value: NSArray<interop.Object> | Array<interop.Object>);

  isEqual(object: interop.Object): boolean;

  readonly hash: number;

  readonly superclass: interop.Pointer;

  class(): interop.Pointer;

  self(): this;

  performSelector(aSelector: string): interop.Object;

  performSelectorWithObject(aSelector: string, object: interop.Object): interop.Object;

  performSelectorWithObjectWithObject(aSelector: string, object1: interop.Object, object2: interop.Object): interop.Object;

  readonly isProxy: boolean;

  isKindOfClass(aClass: interop.PointerConvertible): boolean;

  isMemberOfClass(aClass: interop.PointerConvertible): boolean;

  conformsToProtocol(aProtocol: interop.PointerConvertible): boolean;

  respondsToSelector(aSelector: string): boolean;

  retain(): this;

  release(): void;

  autorelease(): this;

  retainCount(): number;

  readonly zone: interop.Pointer;

  readonly description: string;

  readonly debugDescription: string;
}

declare class VNTargetedImageRequest extends VNImageBasedRequest {
  initWithTargetedCVPixelBufferOptions(pixelBuffer: interop.Object, options: NSDictionary<interop.Object, interop.Object> | Record<interop.Object, interop.Object>): this;

  initWithTargetedCVPixelBufferOptionsCompletionHandler(pixelBuffer: interop.Object, options: NSDictionary<interop.Object, interop.Object> | Record<interop.Object, interop.Object>, completionHandler: (p1: VNRequest, p2: NSError) => void | null): this;

  initWithTargetedCVPixelBufferOrientationOptions(pixelBuffer: interop.Object, orientation: interop.Enum<typeof CGImagePropertyOrientation>, options: NSDictionary<interop.Object, interop.Object> | Record<interop.Object, interop.Object>): this;

  initWithTargetedCVPixelBufferOrientationOptionsCompletionHandler(pixelBuffer: interop.Object, orientation: interop.Enum<typeof CGImagePropertyOrientation>, options: NSDictionary<interop.Object, interop.Object> | Record<interop.Object, interop.Object>, completionHandler: (p1: VNRequest, p2: NSError) => void | null): this;

  initWithTargetedCGImageOptions(cgImage: interop.Object, options: NSDictionary<interop.Object, interop.Object> | Record<interop.Object, interop.Object>): this;

  initWithTargetedCGImageOptionsCompletionHandler(cgImage: interop.Object, options: NSDictionary<interop.Object, interop.Object> | Record<interop.Object, interop.Object>, completionHandler: (p1: VNRequest, p2: NSError) => void | null): this;

  initWithTargetedCGImageOrientationOptions(cgImage: interop.Object, orientation: interop.Enum<typeof CGImagePropertyOrientation>, options: NSDictionary<interop.Object, interop.Object> | Record<interop.Object, interop.Object>): this;

  initWithTargetedCGImageOrientationOptionsCompletionHandler(cgImage: interop.Object, orientation: interop.Enum<typeof CGImagePropertyOrientation>, options: NSDictionary<interop.Object, interop.Object> | Record<interop.Object, interop.Object>, completionHandler: (p1: VNRequest, p2: NSError) => void | null): this;

  initWithTargetedCIImageOptions(ciImage: CIImage, options: NSDictionary<interop.Object, interop.Object> | Record<interop.Object, interop.Object>): this;

  initWithTargetedCIImageOptionsCompletionHandler(ciImage: CIImage, options: NSDictionary<interop.Object, interop.Object> | Record<interop.Object, interop.Object>, completionHandler: (p1: VNRequest, p2: NSError) => void | null): this;

  initWithTargetedCIImageOrientationOptions(ciImage: CIImage, orientation: interop.Enum<typeof CGImagePropertyOrientation>, options: NSDictionary<interop.Object, interop.Object> | Record<interop.Object, interop.Object>): this;

  initWithTargetedCIImageOrientationOptionsCompletionHandler(ciImage: CIImage, orientation: interop.Enum<typeof CGImagePropertyOrientation>, options: NSDictionary<interop.Object, interop.Object> | Record<interop.Object, interop.Object>, completionHandler: (p1: VNRequest, p2: NSError) => void | null): this;

  initWithTargetedImageURLOptions(imageURL: NSURL, options: NSDictionary<interop.Object, interop.Object> | Record<interop.Object, interop.Object>): this;

  initWithTargetedImageURLOptionsCompletionHandler(imageURL: NSURL, options: NSDictionary<interop.Object, interop.Object> | Record<interop.Object, interop.Object>, completionHandler: (p1: VNRequest, p2: NSError) => void | null): this;

  initWithTargetedImageURLOrientationOptions(imageURL: NSURL, orientation: interop.Enum<typeof CGImagePropertyOrientation>, options: NSDictionary<interop.Object, interop.Object> | Record<interop.Object, interop.Object>): this;

  initWithTargetedImageURLOrientationOptionsCompletionHandler(imageURL: NSURL, orientation: interop.Enum<typeof CGImagePropertyOrientation>, options: NSDictionary<interop.Object, interop.Object> | Record<interop.Object, interop.Object>, completionHandler: (p1: VNRequest, p2: NSError) => void | null): this;

  initWithTargetedImageDataOptions(imageData: NSData, options: NSDictionary<interop.Object, interop.Object> | Record<interop.Object, interop.Object>): this;

  initWithTargetedImageDataOptionsCompletionHandler(imageData: NSData, options: NSDictionary<interop.Object, interop.Object> | Record<interop.Object, interop.Object>, completionHandler: (p1: VNRequest, p2: NSError) => void | null): this;

  initWithTargetedImageDataOrientationOptions(imageData: NSData, orientation: interop.Enum<typeof CGImagePropertyOrientation>, options: NSDictionary<interop.Object, interop.Object> | Record<interop.Object, interop.Object>): this;

  initWithTargetedImageDataOrientationOptionsCompletionHandler(imageData: NSData, orientation: interop.Enum<typeof CGImagePropertyOrientation>, options: NSDictionary<interop.Object, interop.Object> | Record<interop.Object, interop.Object>, completionHandler: (p1: VNRequest, p2: NSError) => void | null): this;

  initWithTargetedCMSampleBufferOptions(sampleBuffer: interop.Object, options: NSDictionary<interop.Object, interop.Object> | Record<interop.Object, interop.Object>): this;

  initWithTargetedCMSampleBufferOptionsCompletionHandler(sampleBuffer: interop.Object, options: NSDictionary<interop.Object, interop.Object> | Record<interop.Object, interop.Object>, completionHandler: (p1: VNRequest, p2: NSError) => void | null): this;

  initWithTargetedCMSampleBufferOrientationOptions(sampleBuffer: interop.Object, orientation: interop.Enum<typeof CGImagePropertyOrientation>, options: NSDictionary<interop.Object, interop.Object> | Record<interop.Object, interop.Object>): this;

  initWithTargetedCMSampleBufferOrientationOptionsCompletionHandler(sampleBuffer: interop.Object, orientation: interop.Enum<typeof CGImagePropertyOrientation>, options: NSDictionary<interop.Object, interop.Object> | Record<interop.Object, interop.Object>, completionHandler: (p1: VNRequest, p2: NSError) => void | null): this;
}

declare class VNContoursObservation extends VNObservation {
  readonly contourCount: number;

  contourAtIndexError(contourIndex: number, error: interop.PointerConvertible): VNContour;

  readonly topLevelContourCount: number;

  readonly topLevelContours: NSArray;

  contourAtIndexPathError(indexPath: NSIndexPath, error: interop.PointerConvertible): VNContour;

  readonly normalizedPath: interop.Object;
}

declare class VNClassificationObservation extends VNObservation {
  readonly identifier: string;

  readonly hasPrecisionRecallCurve: boolean;

  hasMinimumRecallForPrecision(minimumRecall: number, precision: number): boolean;

  hasMinimumPrecisionForRecall(minimumPrecision: number, recall: number): boolean;
}

declare class VNRecognizeAnimalsRequest extends VNImageBasedRequest {
  static knownAnimalIdentifiersForRevisionError(requestRevision: number, error: interop.PointerConvertible): NSArray;

  readonly results: NSArray;
}

declare class VNRecognizedTextObservation extends VNRectangleObservation {
  topCandidates(maxCandidateCount: number): NSArray;
}

declare class VNTextObservation extends VNRectangleObservation {
  readonly characterBoxes: NSArray;
}

declare class VNCircle extends NSObject implements NSCopying, NSSecureCoding {
  static readonly zeroCircle: VNCircle;

  initWithCenterRadius(center: VNPoint, radius: number): this;

  initWithCenterDiameter(center: VNPoint, diameter: number): this;

  containsPoint(point: VNPoint): boolean;

  containsPointInCircumferentialRingOfWidth(point: VNPoint, ringWidth: number): boolean;

  readonly center: VNPoint;

  readonly radius: number;

  readonly diameter: number;

  copyWithZone(zone: interop.PointerConvertible): interop.Object;

  static readonly supportsSecureCoding: boolean;

  encodeWithCoder(coder: NSCoder): void;

  initWithCoder(coder: NSCoder): this;
}

declare class VNGenerateOpticalFlowRequest extends VNTargetedImageRequest {
  computationAccuracy: interop.Enum<typeof VNGenerateOpticalFlowRequestComputationAccuracy>;

  outputPixelFormat: number;

  readonly results: NSArray;
}

declare class VNDetectHumanHandPoseRequest extends VNImageBasedRequest {
  static supportedJointNamesForRevisionError(revision: number, error: interop.PointerConvertible): NSArray;

  static supportedJointsGroupNamesForRevisionError(revision: number, error: interop.PointerConvertible): NSArray;

  maximumHandCount: number;

  readonly results: NSArray;
}

declare class VNImageHomographicAlignmentObservation extends VNImageAlignmentObservation {
  readonly warpTransform: simd_float3x3;
}

declare class VNRecognizedPoint extends VNDetectedPoint {
  readonly identifier: string;
}

declare class VNHomographicImageRegistrationRequest extends VNImageRegistrationRequest {
  readonly results: NSArray;
}

declare class VNCoreMLRequest extends VNImageBasedRequest {
  readonly model: VNCoreMLModel;

  imageCropAndScaleOption: interop.Enum<typeof VNImageCropAndScaleOption>;

  initWithModel(model: VNCoreMLModel): this;

  initWithModelCompletionHandler(model: VNCoreMLModel, completionHandler: (p1: VNRequest, p2: NSError) => void | null): this;
}

declare class VNDetectBarcodesRequest extends VNImageBasedRequest {
  static readonly supportedSymbologies: NSArray;

  get symbologies(): NSArray;
  set symbologies(value: NSArray<interop.Object> | Array<interop.Object>);

  readonly results: NSArray;
}

declare class VNFaceLandmarks extends NSObject implements NSCopying, NSSecureCoding, VNRequestRevisionProviding {
  readonly confidence: number;

  copyWithZone(zone: interop.PointerConvertible): interop.Object;

  static readonly supportsSecureCoding: boolean;

  encodeWithCoder(coder: NSCoder): void;

  initWithCoder(coder: NSCoder): this;

  readonly requestRevision: number;
}

declare class VNFaceLandmarks2D extends VNFaceLandmarks {
  readonly allPoints: VNFaceLandmarkRegion2D;

  readonly faceContour: VNFaceLandmarkRegion2D;

  readonly leftEye: VNFaceLandmarkRegion2D;

  readonly rightEye: VNFaceLandmarkRegion2D;

  readonly leftEyebrow: VNFaceLandmarkRegion2D;

  readonly rightEyebrow: VNFaceLandmarkRegion2D;

  readonly nose: VNFaceLandmarkRegion2D;

  readonly noseCrest: VNFaceLandmarkRegion2D;

  readonly medianLine: VNFaceLandmarkRegion2D;

  readonly outerLips: VNFaceLandmarkRegion2D;

  readonly innerLips: VNFaceLandmarkRegion2D;

  readonly leftPupil: VNFaceLandmarkRegion2D;

  readonly rightPupil: VNFaceLandmarkRegion2D;
}

declare class VNDetectFaceRectanglesRequest extends VNImageBasedRequest {
  readonly results: NSArray;
}

declare class VNVideoProcessorTimeIntervalCadence extends VNVideoProcessorCadence {
  initWithTimeInterval(timeInterval: number): this;

  readonly timeInterval: number;
}

declare class VNDetectTextRectanglesRequest extends VNImageBasedRequest {
  reportCharacterBoxes: boolean;

  readonly results: NSArray;
}

declare class VNGenerateAttentionBasedSaliencyImageRequest extends VNImageBasedRequest {
  readonly results: NSArray;
}

declare class VNBarcodeObservation extends VNRectangleObservation {
  readonly symbology: string;

  readonly barcodeDescriptor: CIBarcodeDescriptor;

  readonly payloadStringValue: string;
}

declare class VNPixelBufferObservation extends VNObservation {
  readonly pixelBuffer: interop.Object;

  readonly featureName: string;
}

declare class VNFaceLandmarkRegion2D extends VNFaceLandmarkRegion {
  readonly normalizedPoints: interop.Pointer;

  pointsInImageOfSize(imageSize: CGSize): interop.Pointer;

  readonly precisionEstimatesPerPoint: NSArray;
}

declare class VNGeometryUtils extends NSObject {
  static boundingCircleForContourError(contour: VNContour, error: interop.PointerConvertible): VNCircle;

  static boundingCircleForPointsError(points: NSArray<interop.Object> | Array<interop.Object>, error: interop.PointerConvertible): VNCircle;

  static boundingCircleForSIMDPointsPointCountError(points: interop.PointerConvertible, pointCount: number, error: interop.PointerConvertible): VNCircle;

  static calculateAreaForContourOrientedAreaError(area: interop.PointerConvertible, contour: VNContour, orientedArea: boolean, error: interop.PointerConvertible): boolean;

  static calculatePerimeterForContourError(perimeter: interop.PointerConvertible, contour: VNContour, error: interop.PointerConvertible): boolean;
}

declare class VNStatefulRequest extends VNImageBasedRequest {
  initWithFrameAnalysisSpacingCompletionHandler(frameAnalysisSpacing: CMTime, completionHandler: (p1: VNRequest, p2: NSError) => void | null): this;

  readonly minimumLatencyFrameCount: number;

  readonly frameAnalysisSpacing: CMTime;
}

declare class VNRecognizeTextRequest extends VNImageBasedRequest implements VNRequestProgressProviding {
  static supportedRecognitionLanguagesForTextRecognitionLevelRevisionError(recognitionLevel: interop.Enum<typeof VNRequestTextRecognitionLevel>, requestRevision: number, error: interop.PointerConvertible): NSArray;

  get recognitionLanguages(): NSArray;
  set recognitionLanguages(value: NSArray<interop.Object> | Array<interop.Object>);

  get customWords(): NSArray;
  set customWords(value: NSArray<interop.Object> | Array<interop.Object>);

  recognitionLevel: interop.Enum<typeof VNRequestTextRecognitionLevel>;

  usesLanguageCorrection: boolean;

  minimumTextHeight: number;

  readonly results: NSArray;

  progressHandler: (p1: VNRequest, p2: number, p3: NSError) => void;

  readonly indeterminate: boolean;

  isEqual(object: interop.Object): boolean;

  readonly hash: number;

  readonly superclass: interop.Pointer;

  class(): interop.Pointer;

  self(): this;

  performSelector(aSelector: string): interop.Object;

  performSelectorWithObject(aSelector: string, object: interop.Object): interop.Object;

  performSelectorWithObjectWithObject(aSelector: string, object1: interop.Object, object2: interop.Object): interop.Object;

  readonly isProxy: boolean;

  isKindOfClass(aClass: interop.PointerConvertible): boolean;

  isMemberOfClass(aClass: interop.PointerConvertible): boolean;

  conformsToProtocol(aProtocol: interop.PointerConvertible): boolean;

  respondsToSelector(aSelector: string): boolean;

  retain(): this;

  release(): void;

  autorelease(): this;

  retainCount(): number;

  readonly zone: interop.Pointer;

  readonly description: string;

  readonly debugDescription: string;
}

declare class VNRequest extends NSObject implements NSCopying {
  init(): this;

  initWithCompletionHandler(completionHandler: (p1: VNRequest, p2: NSError) => void | null): this;

  preferBackgroundProcessing: boolean;

  usesCPUOnly: boolean;

  readonly results: NSArray;

  readonly completionHandler: (p1: VNRequest, p2: NSError) => void;

  revision: number;

  static readonly supportedRevisions: NSIndexSet;

  static readonly defaultRevision: number;

  static readonly currentRevision: number;

  cancel(): void;

  copyWithZone(zone: interop.PointerConvertible): interop.Object;
}

declare class VNTrackObjectRequest extends VNTrackingRequest {
  initWithDetectedObjectObservation(observation: VNDetectedObjectObservation): this;

  initWithDetectedObjectObservationCompletionHandler(observation: VNDetectedObjectObservation, completionHandler: (p1: VNRequest, p2: NSError) => void | null): this;
}

declare class VNGenerateImageFeaturePrintRequest extends VNImageBasedRequest {
  imageCropAndScaleOption: interop.Enum<typeof VNImageCropAndScaleOption>;

  readonly results: NSArray;
}

declare class VNDetectHumanBodyPoseRequest extends VNImageBasedRequest {
  static supportedJointNamesForRevisionError(revision: number, error: interop.PointerConvertible): NSArray;

  static supportedJointsGroupNamesForRevisionError(revision: number, error: interop.PointerConvertible): NSArray;

  readonly results: NSArray;
}

declare class VNVideoProcessor extends NSObject {
  initWithURL(videoURL: NSURL): this;

  addRequestProcessingOptionsError(request: VNRequest, processingOptions: VNVideoProcessorRequestProcessingOptions, error: interop.PointerConvertible): boolean;

  addRequestWithProcessingOptionsError(request: VNRequest, processingOptions: NSDictionary<interop.Object, interop.Object> | Record<interop.Object, interop.Object>, error: interop.PointerConvertible): boolean;

  removeRequestError(request: VNRequest, error: interop.PointerConvertible): boolean;

  analyzeTimeRangeError(timeRange: CMTimeRange, error: interop.PointerConvertible): boolean;

  analyzeWithTimeRangeError(timeRange: CMTimeRange, error: interop.PointerConvertible): boolean;

  cancel(): void;
}

