import '../../globals.js';
/**
 * @deprecated - This strategy is being abandoned for an android specific solution.
 */
declare class VibrationManageriOS {
    private readonly vibrationMessageHandlers;
    constructor();
    /**
     * Start a timed vibration for the provided time in seconds.
     */
    vibrate(seconds: number): void;
    /**
     * Start a vibration that will continue forever.
     */
    vibrateForever(): void;
    /**
     * Request a continuous vibration with provided parameters. This should replace all other functions in the future.
     */
    vibrateContinuous(providedOptions?: VibrateOptions): void;
    /**
     * Request a transient vibration. A transient vibration is a single pulse at a particular time without any duration.
     * It is used typically for basic UI components to indicate successful activation or change. Use vibrateContinuous for
     * longer and more complicated vibrations.
     */
    vibrateTransient(providedOptions?: VibrateOptions): void;
    /**
     * Start a vibration for the provided duration, with a provided frequency.
     */
    vibrateAtFrequency(seconds: number, frequency: number): void;
    /**
     * Vibrate at the desired frequency.
     * @param frequency
     * @param [intensity] - from 0 to 1
     */
    vibrateAtFrequencyForever(frequency: number, intensity?: number): void;
    /**
     * Request a vibration with a custom pattern that loops forever.
     * @param vibrationPattern - alternating values where even indexes are "on" time, odd indices are "off"
     * @param seconds - time in seconds, how long to run the vibration
     * @param loopForever - should this loop forever?
     */
    vibrateWithCustomPattern(vibrationPattern: number[], seconds: number, loopForever: boolean): void;
    /**
     * Vibrate with a custom pattern for the provided duration.
     * @param vibrationPattern - alternative values where even indexes are "on" time and odd indexes are "off"
     * @param seconds
     */
    vibrateWithCustomPatternDuration(vibrationPattern: number[], seconds: number): void;
    /**
     * Vibrate with a custom pattern forever.
     * @param vibrationPattern - alternating values of "on" and "off" time in seconds, starting with "on" time.
     */
    vibrateWithCustomPatternForever(vibrationPattern: number[]): void;
    /**
     * Sets the intensity of the current vibration. No effect if there is no active vibration.
     * @param intensity - from 0 to 1
     */
    setVibrationIntensity(intensity: number): void;
    /**
     * Sets the sharpness for the current vibration. No effect if there is no active vibration.
     * @param sharpness - from 0 to 1
     */
    setVibrationSharpness(sharpness: number): void;
    /**
     * Stop any active vibration immediately.
     */
    stop(): void;
    /**
     * Saves the provided data string to the containing Swift app. Data string is generated by VibrationTestEventRecorder.
     * @param dataString - the string to save
     */
    saveTestEvents(dataString: string): void;
    /**
     * Send a debug message to the containing app that will be printed in the debugging tools.
     */
    debug(debugString: string): void;
}
export type VibrateOptions = {
    pattern?: number[];
    sharpness?: number;
    intensity?: number;
    frequency?: number | null;
    duration?: number | null;
};
export default VibrationManageriOS;
//# sourceMappingURL=VibrationManageriOS.d.ts.map