import type { _GCControllerButtonInput } from "./GCControllerButtonInput.js";
import type { GCDualSenseAdaptiveTriggerPositionalAmplitudes } from "../structs/GCDualSenseAdaptiveTriggerPositionalAmplitudes.js";
import type { GCDualSenseAdaptiveTriggerPositionalResistiveStrengths } from "../structs/GCDualSenseAdaptiveTriggerPositionalResistiveStrengths.js";
import type { GCDualSenseAdaptiveTriggerMode } from "./GCDualSenseAdaptiveTriggerMode.js";
import type { GCDualSenseAdaptiveTriggerStatus } from "./GCDualSenseAdaptiveTriggerStatus.js";
export declare class _GCDualSenseAdaptiveTrigger extends _GCControllerButtonInput {
    static alloc(): _GCDualSenseAdaptiveTrigger;
    static new(): _GCDualSenseAdaptiveTrigger;
    init(): _GCDualSenseAdaptiveTrigger;
    /**
     * Sets the adaptive trigger to slope feedback mode. The start position, end position, start strength, and end strength of the effect can be set arbitrarily; however the end position must be larger than the start position. The trigger arm will provide a linearly interpolated degree of feedback whenever it is depressed between the start and end positions based on the starting and ending strengths. @param startPosition - A normalized float from [0-1], with 0 representing the smallest possible trigger depression and 1 representing the maximum trigger depression. The effect will begin once the trigger is depressed beyond this point. @param endPosition - A normalized float from [0-1], with 0 representing the smallest possible depression and 1 representing the maximum trigger depression. Must be greater than startPosition. The effect will end once the trigger is depressed beyond this point. @param startStrength - A normalized float from [0-1], with 0 representing the minimum effect strength (off entirely) and 1 representing the maximum effect strength. The effect will begin at startStrength once the trigger is depressed beyond startPosition. @param endStrength - A normalized float from [0-1], with 0 representing the minimum effect strength (off entirely) and 1 representing the maximum effect strength. The effect will end at endStrength once the trigger is depressed to endPosition.
     */
    setModeSlopeFeedbackWithStartPosition$endPosition$startStrength$endStrength$(startPosition: number, endPosition: number, startStrength: number, endStrength: number): void;
    /**
     * Sets the adaptive trigger to feedback mode. The start position and strength of the effect can be set arbitrarily. The trigger arm will continue to provide a constant degree of feedback whenever it is depressed further than the start position. @param startPosition - A normalized float from [0-1], with 0 representing the smallest possible trigger depression and 1 representing the maximum trigger depression. @param resistiveStrength - A normalized float from [0-1], with 0 representing the minimum effect strength (off entirely) and 1 representing the maximum effect strength.
     */
    setModeFeedbackWithStartPosition$resistiveStrength$(startPosition: number, resistiveStrength: number): void;
    /**
     * Sets the adaptive trigger to feedback mode. The strength of the effect can be set for each possible trigger position. The trigger arm will provide a degree of feedback based on the resistive strength for a given position. @param positionalResistiveStrengths - Positional normalized floats from [0-1], with 0 representing the minimum effect strength (off entirely) and 1 representing the maximum effect strength.
     */
    setModeFeedbackWithResistiveStrengths$(positionalResistiveStrengths: GCDualSenseAdaptiveTriggerPositionalResistiveStrengths): void;
    /**
     * Sets the adaptive trigger to weapon mode. The start position, end position, and strength of the effect can be set arbitrarily; however the end position must be larger than the start position. The trigger arm will continue to provide a constant degree of feedback whenever it is depressed further than the start position. Once the trigger arm has been depressed past the end position, the strength of the effect will immediately fall to zero, providing a "sense of release" similar to that provided by pulling the trigger of a weapon. @param startPosition - A normalized float from [0-1], with 0 representing the smallest possible depression and 1 representing the maximum trigger depression. The effect will begin once the trigger is depressed beyond this point. @param endPosition - A normalized float from [0-1], with 0 representing the smallest possible depression and 1 representing the maximum trigger depression. Must be greater than startPosition. The effect will end once the trigger is depressed beyond this point. @param resistiveStrength - A normalized float from [0-1], with 0 representing the minimum effect strength (off entirely) and 1 representing the maximum effect strength.
     */
    setModeWeaponWithStartPosition$endPosition$resistiveStrength$(startPosition: number, endPosition: number, resistiveStrength: number): void;
    /**
     * Sets the adaptive trigger to vibration mode. The start position, amplitude, and frequency of the effect can be set arbitrarily. The trigger arm will continue to strike against the trigger whenever it is depressed further than the start position, providing a "sense of vibration". @param startPosition - A normalized float from [0-1], with 0 representing the smallest possible depression and 1 representing the maximum trigger depression. The effect will begin once the trigger is depressed beyond this point. @param amplitude - A normalized float from [0-1], with 0 representing the minimum effect strength (off entirely) and 1 representing the maximum effect strength. @param frequency - A normalized float from [0-1], with 0 representing the minimum frequency and 1 representing the maximum frequency of the vibration effect.
     */
    setModeVibrationWithStartPosition$amplitude$frequency$(startPosition: number, amplitude: number, frequency: number): void;
    /**
     * Sets the adaptive trigger to vibration mode. The amplitude of the effect can be set for each possible trigger position. The trigger arm will provide a degree of feedback based on the amplitude for a given position. The trigger arm will continue to strike against the trigger, providing a "sense of vibration". @param positionalAmplitudes - Positional normalized floats from [0-1], with 0 representing the minimum effect strength (off entirely) and 1 representing the maximum effect strength. @param frequency - A normalized float from [0-1], with 0 representing the minimum frequency and 1 representing the maximum frequency of the vibration effect.
     */
    setModeVibrationWithAmplitudes$frequency$(positionalAmplitudes: GCDualSenseAdaptiveTriggerPositionalAmplitudes, frequency: number): void;
    /**
     * Sets the adaptive trigger to off mode. This turns off the adaptive trigger effect.
     */
    setModeOff(): void;
    /**
     * The mode that the adaptive trigger is currently in. This property reflects the physical state of the triggers - and requires a response from the controller. It does not update immediately after calling -[GCDualSenseAdaptiveTrigger setMode...]. @see GCDualSenseAdaptiveTriggerMode
     */
    mode(): GCDualSenseAdaptiveTriggerMode;
    /**
     * The current status of the adaptive trigger - whether it is ready to apply a load, is currently applying a load, or has finished applying a load. @see GCDualSenseAdaptiveTriggerStatus
     */
    status(): GCDualSenseAdaptiveTriggerStatus;
    /**
     * A normalized float from [0-1], with 0 representing the lowest possible trigger arm position and 1 representing the maximum trigger arm position. @see GCDualSenseAdaptiveTriggerStatus
     */
    armPosition(): number;
}
