/* * Copyright (c) 2021-2023 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * @file * @kit ArkUI */ /** * Contains interpolator functions such as initialization, third-order Bezier curves, and spring curves. * * @namespace curves * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 7 */ /** * Contains interpolator functions such as initialization, third-order Bezier curves, and spring curves. * * @namespace curves * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Contains interpolator functions such as initialization, third-order Bezier curves, and spring curves. * * @namespace curves * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 11 */ declare namespace curves { /** * enum Curve. * * @enum { number } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 7 */ /** * enum Curve. * * @enum { number } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * enum Curve. * * @enum { number } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 11 */ enum Curve { /** * Linear. Indicates that the animation has the same velocity from start to finish. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 7 */ /** * Linear. Indicates that the animation has the same velocity from start to finish. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Linear. Indicates that the animation has the same velocity from start to finish. * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 11 */ Linear, /** * Ease. Indicates that the animation starts at a low speed, then speeds up, and slows down before the end, * CubicBezier(0.25, 0.1, 0.25, 1.0). * * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 7 */ /** * Ease. Indicates that the animation starts at a low speed, then speeds up, and slows down before the end, * CubicBezier(0.25, 0.1, 0.25, 1.0). * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Ease. Indicates that the animation starts at a low speed, then speeds up, and slows down before the end, * CubicBezier(0.25, 0.1, 0.25, 1.0). * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 11 */ Ease, /** * EaseIn. Indicates that the animation starts at a low speed, Cubic Bezier (0.42, 0.0, 1.0, 1.0). * * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 7 */ /** * EaseIn. Indicates that the animation starts at a low speed, Cubic Bezier (0.42, 0.0, 1.0, 1.0). * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * EaseIn. Indicates that the animation starts at a low speed, Cubic Bezier (0.42, 0.0, 1.0, 1.0). * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 11 */ EaseIn, /** * EaseOut. Indicates that the animation ends at low speed, CubicBezier (0.0, 0.0, 0.58, 1.0). * * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 7 */ /** * EaseOut. Indicates that the animation ends at low speed, CubicBezier (0.0, 0.0, 0.58, 1.0). * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * EaseOut. Indicates that the animation ends at low speed, CubicBezier (0.0, 0.0, 0.58, 1.0). * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 11 */ EaseOut, /** * EaseInOut. Indicates that the animation starts and ends at low speed, CubicBezier (0.42, 0.0, 0.58, 1.0). * * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 7 */ /** * EaseInOut. Indicates that the animation starts and ends at low speed, CubicBezier (0.42, 0.0, 0.58, 1.0). * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * EaseInOut. Indicates that the animation starts and ends at low speed, CubicBezier (0.42, 0.0, 0.58, 1.0). * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 11 */ EaseInOut, /** * FastOutSlowIn. Standard curve, cubic-bezier (0.4, 0.0, 0.2, 1.0). * * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 7 */ /** * FastOutSlowIn. Standard curve, cubic-bezier (0.4, 0.0, 0.2, 1.0). * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * FastOutSlowIn. Standard curve, cubic-bezier (0.4, 0.0, 0.2, 1.0). * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 11 */ FastOutSlowIn, /** * LinearOutSlowIn. Deceleration curve, cubic-bezier (0.0, 0.0, 0.2, 1.0). * * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 7 */ /** * LinearOutSlowIn. Deceleration curve, cubic-bezier (0.0, 0.0, 0.2, 1.0). * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * LinearOutSlowIn. Deceleration curve, cubic-bezier (0.0, 0.0, 0.2, 1.0). * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 11 */ LinearOutSlowIn, /** * FastOutLinearIn. Acceleration curve, cubic-bezier (0.4, 0.0, 1.0, 1.0). * * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 7 */ /** * FastOutLinearIn. Acceleration curve, cubic-bezier (0.4, 0.0, 1.0, 1.0). * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * FastOutLinearIn. Acceleration curve, cubic-bezier (0.4, 0.0, 1.0, 1.0). * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 11 */ FastOutLinearIn, /** * ExtremeDeceleration. Abrupt curve, cubic-bezier (0.0, 0.0, 0.0, 1.0). * * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 7 */ /** * ExtremeDeceleration. Abrupt curve, cubic-bezier (0.0, 0.0, 0.0, 1.0). * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * ExtremeDeceleration. Abrupt curve, cubic-bezier (0.0, 0.0, 0.0, 1.0). * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 11 */ ExtremeDeceleration, /** * Sharp. Sharp curves, cubic-bezier (0.33, 0.0, 0.67, 1.0). * * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 7 */ /** * Sharp. Sharp curves, cubic-bezier (0.33, 0.0, 0.67, 1.0). * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Sharp. Sharp curves, cubic-bezier (0.33, 0.0, 0.67, 1.0). * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 11 */ Sharp, /** * Rhythm. Rhythmic curve, cubic-bezier (0.7, 0.0, 0.2, 1.0). * * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 7 */ /** * Rhythm. Rhythmic curve, cubic-bezier (0.7, 0.0, 0.2, 1.0). * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Rhythm. Rhythmic curve, cubic-bezier (0.7, 0.0, 0.2, 1.0). * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 11 */ Rhythm, /** * Smooth. Smooth curves, cubic-bezier (0.4, 0.0, 0.4, 1.0). * * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 7 */ /** * Smooth. Smooth curves, cubic-bezier (0.4, 0.0, 0.4, 1.0). * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Smooth. Smooth curves, cubic-bezier (0.4, 0.0, 0.4, 1.0). * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 11 */ Smooth, /** * Friction. Damping curves, CubicBezier (0.2, 0.0, 0.2, 1.0). * * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 7 */ /** * Friction. Damping curves, CubicBezier (0.2, 0.0, 0.2, 1.0). * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Friction. Damping curves, CubicBezier (0.2, 0.0, 0.2, 1.0). * * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 11 */ Friction, } /** * Interface for curve object. * * @typedef ICurve * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 9 */ /** * Interface for curve object. * * @typedef ICurve * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Interface for curve object. * * @typedef ICurve * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 11 */ interface ICurve { /** * Get curve value by fraction. * * @param { number } fraction -Indicates the current normalized time parameter. Value range: [0, 1]. * Note: If the value is less than 0, it will be processed as 0. If the value is greater than 1, 1 is used. * @returns { number } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 9 */ /** * Get curve value by fraction. * * @param { number } fraction -Indicates the current normalized time parameter. Value range: [0, 1]. * Note: If the value is less than 0, it will be processed as 0. If the value is greater than 1, 1 is used. * @returns { number } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Get curve value by fraction. * * @param { number } fraction -Indicates the current normalized time parameter. Value range: [0, 1]. * Note: If the value is less than 0, it will be processed as 0. If the value is greater than 1, 1 is used. * @returns { number } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 11 */ interpolate(fraction: number): number; } /** * Initializes the interpolator curve when called. * * @param { Curve } [curve] The default value is Curve.Linear * @returns { ICurve } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 9 */ /** * Initializes the interpolator curve when called. * * @param { Curve } [curve] The default value is Curve.Linear * @returns { ICurve } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Initializes the interpolator curve when called. * * @param { Curve } [curve] The default value is Curve.Linear * @returns { ICurve } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 11 */ function initCurve(curve?: Curve): ICurve; /** * Initializes the interpolator curve when called. * * @param { Curve } [curve] * @returns { string } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 7 * @deprecated since 9 * @useinstead initCurve */ function init(curve?: Curve): string; /** * Constructs a step curve when called. * * @param { number } count -The number of steps. The range of this value is [1, +∞). * @param { boolean } end -A step change occurs at the start or end of each interval. * @returns { ICurve } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 9 */ /** * Constructs a step curve when called. * * @param { number } count -The number of steps. The range of this value is [1, +∞). * @param { boolean } end -A step change occurs at the start or end of each interval. * @returns { ICurve } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Constructs a step curve when called. * * @param { number } count -The number of steps. The range of this value is [1, +∞). * @param { boolean } end -A step change occurs at the start or end of each interval. * @returns { ICurve } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 11 */ function stepsCurve(count: number, end: boolean): ICurve; /** * Constructs a custom curve when called. * * @param { function } interpolate - fraction range is [0,1], the return number must between [0,1]. * @returns { ICurve } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Constructs a custom curve when called. * * @param { function } interpolate - fraction range is [0,1], the return number must between [0,1]. * @returns { ICurve } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 11 */ function customCurve(interpolate: (fraction: number) => number): ICurve; /** * Constructs a step curve when called. * * @param { number } count * @param { boolean } end * @returns { string } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 7 * @deprecated since 9 * @useinstead stepsCurve */ function steps(count: number, end: boolean): string; /** * Constructs a third-order Bezier curve when called. * @param { number } x1 -Value range [0, 1]. * Note: If the value is less than 0, 0 is used. If the value is greater than 1, 1 is used. * @param { number } y1 -Value range (-∞, +∞). * @param { number } x2 -Value range [0, 1]. * Note: If the value is less than 0, 0 is used. If the value is greater than 1, 1 is used. * @param { number } y2 -Value range (-∞, +∞). * @returns { ICurve } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 9 */ /** * Constructs a third-order Bezier curve when called. * * @param { number } x1 -Value range [0, 1]. * Note: If the value is less than 0, 0 is used. If the value is greater than 1, 1 is used. * @param { number } y1 -Value range (-∞, +∞). * @param { number } x2 -Value range [0, 1]. * Note: If the value is less than 0, 0 is used. If the value is greater than 1, 1 is used. * @param { number } y2 -Value range (-∞, +∞). * @returns { ICurve } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Constructs a third-order Bezier curve when called. * * @param { number } x1 -Value range [0, 1]. * Note: If the value is less than 0, 0 is used. If the value is greater than 1, 1 is used. * @param { number } y1 -Value range (-∞, +∞). * @param { number } x2 -Value range [0, 1]. * Note: If the value is less than 0, 0 is used. If the value is greater than 1, 1 is used. * @param { number } y2 -Value range (-∞, +∞). * @returns { ICurve } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 11 */ function cubicBezierCurve(x1: number, y1: number, x2: number, y2: number): ICurve; /** * Constructs a third-order Bezier curve when called. * * @param { number } x1 -Value range [0, 1]. * Note: If the value is less than 0, 0 is used. If the value is greater than 1, 1 is used. * @param { number } y1 -Value range (-∞, +∞). * @param { number } x2 -Value range [0, 1]. * Note: If the value is less than 0, 0 is used. If the value is greater than 1, 1 is used. * @param { number } y2 -Value range (-∞, +∞). * @returns { string } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 7 * @deprecated since 9 * @useinstead cubicBezierCurve */ function cubicBezier(x1: number, y1: number, x2: number, y2: number): string; /** * Constructs a spring curve when called. For more information about the meaning of the parameter, see spring(). * * @param { number } velocity -Value range (-∞, +∞). * @param { number } mass -Value range (0, +∞). Note: If the value is less than or equal to 0, 1 is used. * @param { number } stiffness -Value range (0, +∞). Note: If the value is less than or equal to 0, 1 is used. * @param { number } damping -Value range (0, +∞). Note: If the value is less than or equal to 0, 1 is used. * @returns { ICurve } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 9 */ /** * Constructs a spring curve when called. * * @param { number } velocity -Value range (-∞, +∞). * @param { number } mass -Value range (0, +∞). Note: If the value is less than or equal to 0, 1 is used. * @param { number } stiffness -Value range (0, +∞). Note: If the value is less than or equal to 0, 1 is used. * @param { number } damping -Value range (0, +∞). Note: If the value is less than or equal to 0, 1 is used. * @returns { ICurve } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Constructs a spring curve when called. * * @param { number } velocity -Value range (-∞, +∞). * @param { number } mass -Value range (0, +∞). Note: If the value is less than or equal to 0, 1 is used. * @param { number } stiffness -Value range (0, +∞). Note: If the value is less than or equal to 0, 1 is used. * @param { number } damping -Value range (0, +∞). Note: If the value is less than or equal to 0, 1 is used. * @returns { ICurve } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 11 */ function springCurve(velocity: number, mass: number, stiffness: number, damping: number): ICurve; /** * Constructs a spring curve when called. * * @param { number } velocity -Initial velocity. An influence parameter of external factors on elastic dynamics, * purpose is to ensure a smooth transition of the object from the previous state of motion to the elastic dynamics. * @param { number } mass -Quality. The force object of the elastic system will have an inertial effect on elastic * system. The greater the mass, the greater the amplitude of the oscillation. * @param { number } stiffness -The degree to which an object is deformed by resisting the applied force. * @param { number } damping -Pure number, Used to describe oscillation and decay of a system after being disturbed. * @returns { string } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 7 * @deprecated since 9 * @useinstead springCurve */ function spring(velocity: number, mass: number, stiffness: number, damping: number): string; /** * Constructs a spring motion when called. * * @param { number } [response] The default value is 0.55. Unit: seconds. Value range: (0, +∞). * Note: If a value is set to 0 or less, the default value of 0.55 is used. * @param { number } [dampingFraction] The default value is 0.825. Unit: seconds. Value range: [0, +∞). * Note: If a value is set to 0 or less, the default value of 0.825 is used. * @param { number } [overlapDuration] The default value is 0. Unit: seconds. Value range: [0, +∞). * Note: If a value is set to 0 or less, the default value of 0 is used. * @returns { ICurve } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 9 */ /** * Constructs a spring motion when called. * * @param { number } [response] The default value is 0.55. Unit: seconds. Value range: (0, +∞). * Note: If a value is set to 0 or less, the default value of 0.55 is used. * @param { number } [dampingFraction] The default value is 0.825. Unit: seconds. Value range: [0, +∞). * Note: If a value is set to 0 or less, the default value of 0.825 is used. * @param { number } [overlapDuration] The default value is 0. Unit: seconds. Value range: [0, +∞). * Note: If a value is set to 0 or less, the default value of 0 is used. * @returns { ICurve } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Constructs a spring motion when called. * * @param { number } [response] The default value is 0.55. Unit: seconds. Value range: (0, +∞). * Note: If a value is set to 0 or less, the default value of 0.55 is used. * @param { number } [dampingFraction] The default value is 0.825. Unit: seconds. Value range: [0, +∞). * Note: If a value is set to 0 or less, the default value of 0.825 is used. * @param { number } [overlapDuration] The default value is 0. Unit: seconds. Value range: [0, +∞). * Note: If a value is set to 0 or less, the default value of 0 is used. * @returns { ICurve } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 11 */ function springMotion(response?: number, dampingFraction?: number, overlapDuration?: number): ICurve; /** * Constructs a responsive spring motion when called. * * @param { number } [response] The default value is 0.15. Unit: seconds. Value range: (0, +∞). * Note: If a value is set to 0 or less, the default value of 0.15 is used. * @param { number } [dampingFraction] The default value is 0.86. Unit: seconds. Value range: [0, +∞). * Note: If a value is set to 0 or less, the default value of 0.86 is used. * @param { number } [overlapDuration] The default value is 0.25. Unit: seconds. Value range: [0, +∞). * Note: If a value is set to 0 or less, the default value of 0.25 is used. * @returns { ICurve } * @syscap SystemCapability.ArkUI.ArkUI.Full * @since 9 */ /** * Constructs a responsive spring motion when called. * * @param { number } [response] The default value is 0.15. Unit: seconds. Value range: (0, +∞). * Note: If a value is set to 0 or less, the default value of 0.15 is used. * @param { number } [dampingFraction] The default value is 0.86. Unit: seconds. Value range: [0, +∞). * Note: If a value is set to 0 or less, the default value of 0.86 is used. * @param { number } [overlapDuration] The default value is 0.25. Unit: seconds. Value range: [0, +∞). * Note: If a value is set to 0 or less, the default value of 0.25 is used. * @returns { ICurve } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Constructs a responsive spring motion when called. * The parameters are interpreted as in springMotion. * * @param { number } [response] The default value is 0.15. Unit: seconds. Value range: (0, +∞). * Note: If a value is set to 0 or less, the default value of 0.15 is used. * @param { number } [dampingFraction] The default value is 0.86. Unit: seconds. Value range: [0, +∞). * Note: If a value is set to 0 or less, the default value of 0.86 is used. * @param { number } [overlapDuration] The default value is 0.25. Unit: seconds. Value range: [0, +∞). * Note: If a value is set to 0 or less, the default value of 0.25 is used. * @returns { ICurve } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 11 */ function responsiveSpringMotion(response?: number, dampingFraction?: number, overlapDuration?: number): ICurve; /** * Constructs an interpolating spring curve when called, the animation duration can not be specified manually, * and is determined by parameters of the curve. It produces values change from 0 to 1, and then uses interpolator * to calculate the actual animation values. * * @param { number } velocity - the initial velocity of the spring, and is a normalized speed corresponding to the * value changes from 0 to 1,specific value range (-∞, ∞). * @param { number } mass - the mass of object in the mass-damper-spring system, value range (0, +∞). * Note: If the value is less than or equal to 0, the value 1 is used. * @param { number } stiffness - the stiffness of spring, value range (0, +∞). * Note: If the value is less than or equal to 0, the value 1 is used. * @param { number } damping - the damping value of spring, value range (0, +∞). * Note: If the value is less than or equal to 0, the value 1 is used. * @returns { ICurve } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 10 */ /** * Constructs an interpolating spring curve when called, the animation duration can not be specified manually, * and is determined by parameters of the curve. It produces values change from 0 to 1, and then uses interpolator * to calculate the actual animation values. * * @param { number } velocity - the initial velocity of the spring, and is a normalized speed corresponding to the * value changes from 0 to 1,specific value range (-∞, ∞). * @param { number } mass - the mass of object in the mass-damper-spring system, value range (0, +∞). * Note: If the value is less than or equal to 0, the value 1 is used. * @param { number } stiffness - the stiffness of spring, value range (0, +∞). * Note: If the value is less than or equal to 0, the value 1 is used. * @param { number } damping - the damping value of spring, value range (0, +∞). * Note: If the value is less than or equal to 0, the value 1 is used. * @returns { ICurve } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @atomicservice * @since 11 */ function interpolatingSpring(velocity: number, mass: number, stiffness: number, damping: number): ICurve; } export default curves;