import type { _GCPhysicalInputElement } from "./GCPhysicalInputElement.js";
import type { _NSSet } from "../Foundation/NSSet.js";
export interface _GCRelativeInput {
    /**
     * Set this block to be notified when the delta of the input changes. @param delta The amount that the input has changed since the last time \c deltaDidChangeHandler fired.
     */
    deltaDidChangeHandler?(): ((arg0: _GCPhysicalInputElement, arg1: _GCRelativeInput, arg2: number) => void) | null;
    setDeltaDidChangeHandler$?(value: ((arg0: _GCPhysicalInputElement, arg1: _GCRelativeInput, arg2: number) => void) | null): void;
    /** The last reported delta for the input. */
    delta?(): number;
    /**
     * Check if the input can support more than just digital values. Defaults to \c YES for most relative inputs.
     */
    analog?(): boolean;
    /**
     * The timestamp of the last change. This time interval is not relative to any specific point in time. You can subtract a previous timestamp from the current timestamp to determine the time (in seconds) between changes to the value.
     */
    lastDeltaTimestamp?(): number;
    /**
     * The interval (in seconds) between the timestamp of the last change and the current time. This should be treated as a lower bound of the event latency. It may not include (wired or wireless) transmission latency, or latency accrued on the device before the event was transmitted to the host.
     */
    lastDeltaLatency?(): number;
    /**
     * An object describing the physical action(s) the user performs to manipulate this input.
     */
    sources?(): _NSSet;
}
