import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSCopying } from "../Foundation/NSCopying.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _CNDetection } from "./CNDetection.js";
import type { CMTime } from "../structs/CMTime.js";
import type { CMTimeRange } from "../structs/CMTimeRange.js";
import type { CNDetectionType } from "./CNDetectionType.js";
export declare class _CNDetectionTrack extends _NSObject {
    static alloc(): _CNDetectionTrack;
    static new(): _CNDetectionTrack;
    init(): _CNDetectionTrack;
    detectionAtOrBeforeTime$(time: CMTime): _CNDetection | null;
    detectionNearestTime$(time: CMTime): _CNDetection | null;
    /**
     * Gets the array of detections in the detection track within the given time range. Makes sense for discrete detection tracks only.
     */
    detectionsInTimeRange$(timeRange: CMTimeRange): _NSArray;
    /** The type of subject detected by this detection track. */
    detectionType(): CNDetectionType;
    /**
     * The detectionID of the subject detected during this track; unique within a cinematic script.
     */
    detectionID(): number;
    /**
     * The detectionGroupID of the subject detected by the track. The detectionGroupID can be used to associate related detections such as the face and torso of the same person.
     */
    detectionGroupID(): number;
    /** Whether this detection track was created by the client. */
    userCreated(): boolean;
    /**
     * Whether this detection track has discrete detections (otherwise continuous). A discrete detection track will return detections only at the specific times a detection occurs. A continuous detection track will return a detection for any requested time and an empty array for time ranges.
     */
    discrete(): boolean;
}
export interface _CNDetectionTrack extends _NSCopying {
}
