import type { _NSObject } from "../Foundation/NSObject.js";
import type { CMTime } from "../structs/CMTime.js";
import type { AVCaptureReactionType } from "./AVCaptureReactionType.js";
export declare class _AVCaptureReactionEffectState extends _NSObject {
    static alloc(): _AVCaptureReactionEffectState;
    static new(): _AVCaptureReactionEffectState;
    init(): _AVCaptureReactionEffectState;
    /**
     * @property reactionType @abstract Indicates the reaction which is running. @discussion There may be multiple reactions of the same type at a given time. Some may come from gesture detection, some may come from calls to -[AVCaptureDevice performReactionEffect:]
     */
    reactionType(): AVCaptureReactionType;
    /**
     * @property startTime @abstract Provides the presentation time of the first frame where the effect is being rendered.
     */
    startTime(): CMTime;
    /**
     * @property endTime @abstract Provides the presentation time of the frame following the last frame where the effect is seen. @discussion Will be kCMTimeInvalid while the effect is in progress, but will be updated to a valid time when the reaction effect completes and the AVCaptureReactionEffectState is removed from -[AVCaptureDevice reactionEffectsInProgress]. (If using NSKeyValueObservingOptionOld, you can access completed effects with valid end times via NSKeyValueChangeOldKey.)
     */
    endTime(): CMTime;
}
