• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (c) 2021-2023 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16/**
17 * @file
18 * @kit ArkUI
19 */
20
21/**
22 * Contains interpolator functions such as initialization, third-order Bezier curves, and spring curves.
23 *
24 * @namespace curves
25 * @syscap SystemCapability.ArkUI.ArkUI.Full
26 * @since 7
27 */
28/**
29 * Contains interpolator functions such as initialization, third-order Bezier curves, and spring curves.
30 *
31 * @namespace curves
32 * @syscap SystemCapability.ArkUI.ArkUI.Full
33 * @crossplatform
34 * @since 10
35 */
36/**
37 * Contains interpolator functions such as initialization, third-order Bezier curves, and spring curves.
38 *
39 * @namespace curves
40 * @syscap SystemCapability.ArkUI.ArkUI.Full
41 * @crossplatform
42 * @atomicservice
43 * @since 11
44 */
45declare namespace curves {
46  /**
47   * enum Curve.
48   *
49   * @enum { number }
50   * @syscap SystemCapability.ArkUI.ArkUI.Full
51   * @since 7
52   */
53  /**
54   * enum Curve.
55   *
56   * @enum { number }
57   * @syscap SystemCapability.ArkUI.ArkUI.Full
58   * @crossplatform
59   * @since 10
60   */
61  /**
62   * enum Curve.
63   *
64   * @enum { number }
65   * @syscap SystemCapability.ArkUI.ArkUI.Full
66   * @crossplatform
67   * @atomicservice
68   * @since 11
69   */
70  enum Curve {
71    /**
72     * Linear. Indicates that the animation has the same velocity from start to finish.
73     *
74     * @syscap SystemCapability.ArkUI.ArkUI.Full
75     * @since 7
76     */
77    /**
78     * Linear. Indicates that the animation has the same velocity from start to finish.
79     *
80     * @syscap SystemCapability.ArkUI.ArkUI.Full
81     * @crossplatform
82     * @since 10
83     */
84    /**
85     * Linear. Indicates that the animation has the same velocity from start to finish.
86     *
87     * @syscap SystemCapability.ArkUI.ArkUI.Full
88     * @crossplatform
89     * @atomicservice
90     * @since 11
91     */
92    Linear,
93    /**
94     * Ease. Indicates that the animation starts at a low speed, then speeds up, and slows down before the end,
95     * CubicBezier(0.25, 0.1, 0.25, 1.0).
96     *
97     * @syscap SystemCapability.ArkUI.ArkUI.Full
98     * @since 7
99     */
100    /**
101     * Ease. Indicates that the animation starts at a low speed, then speeds up, and slows down before the end,
102     * CubicBezier(0.25, 0.1, 0.25, 1.0).
103     *
104     * @syscap SystemCapability.ArkUI.ArkUI.Full
105     * @crossplatform
106     * @since 10
107     */
108    /**
109     * Ease. Indicates that the animation starts at a low speed, then speeds up, and slows down before the end,
110     * CubicBezier(0.25, 0.1, 0.25, 1.0).
111     *
112     * @syscap SystemCapability.ArkUI.ArkUI.Full
113     * @crossplatform
114     * @atomicservice
115     * @since 11
116     */
117    Ease,
118    /**
119     * EaseIn. Indicates that the animation starts at a low speed, Cubic Bezier (0.42, 0.0, 1.0, 1.0).
120     *
121     * @syscap SystemCapability.ArkUI.ArkUI.Full
122     * @since 7
123     */
124    /**
125     * EaseIn. Indicates that the animation starts at a low speed, Cubic Bezier (0.42, 0.0, 1.0, 1.0).
126     *
127     * @syscap SystemCapability.ArkUI.ArkUI.Full
128     * @crossplatform
129     * @since 10
130     */
131    /**
132     * EaseIn. Indicates that the animation starts at a low speed, Cubic Bezier (0.42, 0.0, 1.0, 1.0).
133     *
134     * @syscap SystemCapability.ArkUI.ArkUI.Full
135     * @crossplatform
136     * @atomicservice
137     * @since 11
138     */
139    EaseIn,
140    /**
141     * EaseOut. Indicates that the animation ends at low speed, CubicBezier (0.0, 0.0, 0.58, 1.0).
142     *
143     * @syscap SystemCapability.ArkUI.ArkUI.Full
144     * @since 7
145     */
146    /**
147     * EaseOut. Indicates that the animation ends at low speed, CubicBezier (0.0, 0.0, 0.58, 1.0).
148     *
149     * @syscap SystemCapability.ArkUI.ArkUI.Full
150     * @crossplatform
151     * @since 10
152     */
153    /**
154     * EaseOut. Indicates that the animation ends at low speed, CubicBezier (0.0, 0.0, 0.58, 1.0).
155     *
156     * @syscap SystemCapability.ArkUI.ArkUI.Full
157     * @crossplatform
158     * @atomicservice
159     * @since 11
160     */
161    EaseOut,
162    /**
163     * EaseInOut. Indicates that the animation starts and ends at low speed, CubicBezier (0.42, 0.0, 0.58, 1.0).
164     *
165     * @syscap SystemCapability.ArkUI.ArkUI.Full
166     * @since 7
167     */
168    /**
169     * EaseInOut. Indicates that the animation starts and ends at low speed, CubicBezier (0.42, 0.0, 0.58, 1.0).
170     *
171     * @syscap SystemCapability.ArkUI.ArkUI.Full
172     * @crossplatform
173     * @since 10
174     */
175    /**
176     * EaseInOut. Indicates that the animation starts and ends at low speed, CubicBezier (0.42, 0.0, 0.58, 1.0).
177     *
178     * @syscap SystemCapability.ArkUI.ArkUI.Full
179     * @crossplatform
180     * @atomicservice
181     * @since 11
182     */
183    EaseInOut,
184    /**
185     * FastOutSlowIn. Standard curve, cubic-bezier (0.4, 0.0, 0.2, 1.0).
186     *
187     * @syscap SystemCapability.ArkUI.ArkUI.Full
188     * @since 7
189     */
190    /**
191     * FastOutSlowIn. Standard curve, cubic-bezier (0.4, 0.0, 0.2, 1.0).
192     *
193     * @syscap SystemCapability.ArkUI.ArkUI.Full
194     * @crossplatform
195     * @since 10
196     */
197    /**
198     * FastOutSlowIn. Standard curve, cubic-bezier (0.4, 0.0, 0.2, 1.0).
199     *
200     * @syscap SystemCapability.ArkUI.ArkUI.Full
201     * @crossplatform
202     * @atomicservice
203     * @since 11
204     */
205    FastOutSlowIn,
206    /**
207     * LinearOutSlowIn. Deceleration curve, cubic-bezier (0.0, 0.0, 0.2, 1.0).
208     *
209     * @syscap SystemCapability.ArkUI.ArkUI.Full
210     * @since 7
211     */
212    /**
213     * LinearOutSlowIn. Deceleration curve, cubic-bezier (0.0, 0.0, 0.2, 1.0).
214     *
215     * @syscap SystemCapability.ArkUI.ArkUI.Full
216     * @crossplatform
217     * @since 10
218     */
219    /**
220     * LinearOutSlowIn. Deceleration curve, cubic-bezier (0.0, 0.0, 0.2, 1.0).
221     *
222     * @syscap SystemCapability.ArkUI.ArkUI.Full
223     * @crossplatform
224     * @atomicservice
225     * @since 11
226     */
227    LinearOutSlowIn,
228    /**
229     * FastOutLinearIn. Acceleration curve, cubic-bezier (0.4, 0.0, 1.0, 1.0).
230     *
231     * @syscap SystemCapability.ArkUI.ArkUI.Full
232     * @since 7
233     */
234    /**
235     * FastOutLinearIn. Acceleration curve, cubic-bezier (0.4, 0.0, 1.0, 1.0).
236     *
237     * @syscap SystemCapability.ArkUI.ArkUI.Full
238     * @crossplatform
239     * @since 10
240     */
241    /**
242     * FastOutLinearIn. Acceleration curve, cubic-bezier (0.4, 0.0, 1.0, 1.0).
243     *
244     * @syscap SystemCapability.ArkUI.ArkUI.Full
245     * @crossplatform
246     * @atomicservice
247     * @since 11
248     */
249    FastOutLinearIn,
250    /**
251     * ExtremeDeceleration. Abrupt curve, cubic-bezier (0.0, 0.0, 0.0, 1.0).
252     *
253     * @syscap SystemCapability.ArkUI.ArkUI.Full
254     * @since 7
255     */
256    /**
257     * ExtremeDeceleration. Abrupt curve, cubic-bezier (0.0, 0.0, 0.0, 1.0).
258     *
259     * @syscap SystemCapability.ArkUI.ArkUI.Full
260     * @crossplatform
261     * @since 10
262     */
263    /**
264     * ExtremeDeceleration. Abrupt curve, cubic-bezier (0.0, 0.0, 0.0, 1.0).
265     *
266     * @syscap SystemCapability.ArkUI.ArkUI.Full
267     * @crossplatform
268     * @atomicservice
269     * @since 11
270     */
271    ExtremeDeceleration,
272    /**
273     * Sharp. Sharp curves, cubic-bezier (0.33, 0.0, 0.67, 1.0).
274     *
275     * @syscap SystemCapability.ArkUI.ArkUI.Full
276     * @since 7
277     */
278    /**
279     * Sharp. Sharp curves, cubic-bezier (0.33, 0.0, 0.67, 1.0).
280     *
281     * @syscap SystemCapability.ArkUI.ArkUI.Full
282     * @crossplatform
283     * @since 10
284     */
285    /**
286     * Sharp. Sharp curves, cubic-bezier (0.33, 0.0, 0.67, 1.0).
287     *
288     * @syscap SystemCapability.ArkUI.ArkUI.Full
289     * @crossplatform
290     * @atomicservice
291     * @since 11
292     */
293    Sharp,
294    /**
295     * Rhythm. Rhythmic curve, cubic-bezier (0.7, 0.0, 0.2, 1.0).
296     *
297     * @syscap SystemCapability.ArkUI.ArkUI.Full
298     * @since 7
299     */
300    /**
301     * Rhythm. Rhythmic curve, cubic-bezier (0.7, 0.0, 0.2, 1.0).
302     *
303     * @syscap SystemCapability.ArkUI.ArkUI.Full
304     * @crossplatform
305     * @since 10
306     */
307    /**
308     * Rhythm. Rhythmic curve, cubic-bezier (0.7, 0.0, 0.2, 1.0).
309     *
310     * @syscap SystemCapability.ArkUI.ArkUI.Full
311     * @crossplatform
312     * @atomicservice
313     * @since 11
314     */
315    Rhythm,
316    /**
317     * Smooth. Smooth curves, cubic-bezier (0.4, 0.0, 0.4, 1.0).
318     *
319     * @syscap SystemCapability.ArkUI.ArkUI.Full
320     * @since 7
321     */
322    /**
323     * Smooth. Smooth curves, cubic-bezier (0.4, 0.0, 0.4, 1.0).
324     *
325     * @syscap SystemCapability.ArkUI.ArkUI.Full
326     * @crossplatform
327     * @since 10
328     */
329    /**
330     * Smooth. Smooth curves, cubic-bezier (0.4, 0.0, 0.4, 1.0).
331     *
332     * @syscap SystemCapability.ArkUI.ArkUI.Full
333     * @crossplatform
334     * @atomicservice
335     * @since 11
336     */
337    Smooth,
338    /**
339     * Friction. Damping curves, CubicBezier (0.2, 0.0, 0.2, 1.0).
340     *
341     * @syscap SystemCapability.ArkUI.ArkUI.Full
342     * @since 7
343     */
344    /**
345     * Friction. Damping curves, CubicBezier (0.2, 0.0, 0.2, 1.0).
346     *
347     * @syscap SystemCapability.ArkUI.ArkUI.Full
348     * @crossplatform
349     * @since 10
350     */
351    /**
352     * Friction. Damping curves, CubicBezier (0.2, 0.0, 0.2, 1.0).
353     *
354     * @syscap SystemCapability.ArkUI.ArkUI.Full
355     * @crossplatform
356     * @atomicservice
357     * @since 11
358     */
359    Friction,
360  }
361
362  /**
363   * Interface for curve object.
364   *
365   * @typedef ICurve
366   * @syscap SystemCapability.ArkUI.ArkUI.Full
367   * @since 9
368   */
369  /**
370   * Interface for curve object.
371   *
372   * @typedef ICurve
373   * @syscap SystemCapability.ArkUI.ArkUI.Full
374   * @crossplatform
375   * @since 10
376   */
377  /**
378   * Interface for curve object.
379   *
380   * @typedef ICurve
381   * @syscap SystemCapability.ArkUI.ArkUI.Full
382   * @crossplatform
383   * @atomicservice
384   * @since 11
385   */
386  interface ICurve {
387    /**
388     * Get curve value by fraction.params,the parameter value range is from 0 to 1.
389     * 1 is taken when the value is greater than 1 and 0 is taken when it is less than 0.
390     *
391     * @param { number } fraction -Indicates the current normalized time parameter. Value range: [0, 1].
392     * Note: If the value is less than 0, it will be processed as 0. If the value is greater than 1, 1 is used.
393     * @returns { number }
394     * @syscap SystemCapability.ArkUI.ArkUI.Full
395     * @since 9
396     */
397    /**
398     * Get curve value by fraction.params,the parameter value range is from 0 to 1.
399     * 1 is taken when the value is greater than 1 and 0 is taken when it is less than 0.
400     *
401     * @param { number } fraction -Indicates the current normalized time parameter. Value range: [0, 1].
402     * Note: If the value is less than 0, it will be processed as 0. If the value is greater than 1, 1 is used.
403     * @returns { number }
404     * @syscap SystemCapability.ArkUI.ArkUI.Full
405     * @crossplatform
406     * @since 10
407     */
408    /**
409     * Get curve value by fraction.params,the parameter value range is from 0 to 1.
410     * 1 is taken when the value is greater than 1 and 0 is taken when it is less than 0.
411     *
412     * @param { number } fraction -Indicates the current normalized time parameter. Value range: [0, 1].
413     * Note: If the value is less than 0, it will be processed as 0. If the value is greater than 1, 1 is used.
414     * @returns { number }
415     * @syscap SystemCapability.ArkUI.ArkUI.Full
416     * @crossplatform
417     * @atomicservice
418     * @since 11
419     */
420    interpolate(fraction: number): number;
421  }
422
423  /**
424   * Initializes the interpolator curve when called.
425   *
426   * @param { Curve } [curve] The default value is Curve.Linear
427   * @returns { ICurve }
428   * @syscap SystemCapability.ArkUI.ArkUI.Full
429   * @since 9
430   */
431  /**
432   * Initializes the interpolator curve when called.
433   *
434   * @param { Curve } [curve] The default value is Curve.Linear
435   * @returns { ICurve }
436   * @syscap SystemCapability.ArkUI.ArkUI.Full
437   * @crossplatform
438   * @since 10
439   */
440  /**
441   * Initializes the interpolator curve when called.
442   *
443   * @param { Curve } [curve] The default value is Curve.Linear
444   * @returns { ICurve }
445   * @syscap SystemCapability.ArkUI.ArkUI.Full
446   * @crossplatform
447   * @atomicservice
448   * @since 11
449   */
450  function initCurve(curve?: Curve): ICurve;
451
452  /**
453   * Initializes the interpolator curve when called.
454   *
455   * @param { Curve } [curve]
456   * @returns { string }
457   * @syscap SystemCapability.ArkUI.ArkUI.Full
458   * @since 7
459   * @deprecated since 9
460   * @useinstead initCurve
461   */
462  function init(curve?: Curve): string;
463
464  /**
465   * Constructs a step curve when called.
466   *
467   * @param { number } count -The number of steps. The range of this value is [1, +∞).
468   * @param { boolean } end -A step change occurs at the start or end of each interval.
469   * @returns { ICurve }
470   * @syscap SystemCapability.ArkUI.ArkUI.Full
471   * @since 9
472   */
473  /**
474   * Constructs a step curve when called.
475   *
476   * @param { number } count -The number of steps. The range of this value is [1, +∞).
477   * @param { boolean } end -A step change occurs at the start or end of each interval.
478   * @returns { ICurve }
479   * @syscap SystemCapability.ArkUI.ArkUI.Full
480   * @crossplatform
481   * @since 10
482   */
483  /**
484   * Constructs a step curve when called.
485   *
486   * @param { number } count -The number of steps. The range of this value is [1, +∞).
487   * @param { boolean } end -A step change occurs at the start or end of each interval.
488   * @returns { ICurve }
489   * @syscap SystemCapability.ArkUI.ArkUI.Full
490   * @crossplatform
491   * @atomicservice
492   * @since 11
493   */
494  function stepsCurve(count: number, end: boolean): ICurve;
495
496  /**
497   * Constructs a custom curve when called.
498   *
499   * @param { function } interpolate - fraction range is [0,1], the return number must between [0,1].
500   * @returns { ICurve }
501   * @syscap SystemCapability.ArkUI.ArkUI.Full
502   * @crossplatform
503   * @since 10
504   */
505  /**
506   * Constructs a custom curve when called.
507   *
508   * @param { function } interpolate - fraction range is [0,1], the return number must between [0,1].
509   * @returns { ICurve }
510   * @syscap SystemCapability.ArkUI.ArkUI.Full
511   * @crossplatform
512   * @atomicservice
513   * @since 11
514   */
515  function customCurve(interpolate: (fraction: number) => number): ICurve;
516
517  /**
518   * Constructs a step curve when called.
519   *
520   * @param { number } count
521   * @param { boolean } end
522   * @returns { string }
523   * @syscap SystemCapability.ArkUI.ArkUI.Full
524   * @since 7
525   * @deprecated since 9
526   * @useinstead stepsCurve
527   */
528  function steps(count: number, end: boolean): string;
529
530  /**
531   * Constructs a third-order Bezier curve when called.
532   * @param { number } x1 -Value range [0, 1].
533   * Note: If the value is less than 0, 0 is used. If the value is greater than 1, 1 is used.
534   * @param { number } y1 -Value range (-∞, +∞).
535   * @param { number } x2 -Value range [0, 1].
536   * Note: If the value is less than 0, 0 is used. If the value is greater than 1, 1 is used.
537   * @param { number } y2 -Value range (-∞, +∞).
538   * @returns { ICurve }
539   * @syscap SystemCapability.ArkUI.ArkUI.Full
540   * @since 9
541   */
542  /**
543   * Constructs a third-order Bezier curve when called.
544   *
545   * @param { number } x1 -Value range [0, 1].
546   * Note: If the value is less than 0, 0 is used. If the value is greater than 1, 1 is used.
547   * @param { number } y1 -Value range (-∞, +∞).
548   * @param { number } x2 -Value range [0, 1].
549   * Note: If the value is less than 0, 0 is used. If the value is greater than 1, 1 is used.
550   * @param { number } y2 -Value range (-∞, +∞).
551   * @returns { ICurve }
552   * @syscap SystemCapability.ArkUI.ArkUI.Full
553   * @crossplatform
554   * @since 10
555   */
556  /**
557   * Constructs a third-order Bezier curve when called.
558   *
559   * @param { number } x1 -Value range [0, 1].
560   * Note: If the value is less than 0, 0 is used. If the value is greater than 1, 1 is used.
561   * @param { number } y1 -Value range (-∞, +∞).
562   * @param { number } x2 -Value range [0, 1].
563   * Note: If the value is less than 0, 0 is used. If the value is greater than 1, 1 is used.
564   * @param { number } y2 -Value range (-∞, +∞).
565   * @returns { ICurve }
566   * @syscap SystemCapability.ArkUI.ArkUI.Full
567   * @crossplatform
568   * @atomicservice
569   * @since 11
570   */
571  function cubicBezierCurve(x1: number, y1: number, x2: number, y2: number): ICurve;
572
573  /**
574   * Constructs a third-order Bezier curve when called.
575   *
576   * @param { number } x1 -Value range [0, 1].
577   * Note: If the value is less than 0, 0 is used. If the value is greater than 1, 1 is used.
578   * @param { number } y1 -Value range (-∞, +∞).
579   * @param { number } x2 -Value range [0, 1].
580   * Note: If the value is less than 0, 0 is used. If the value is greater than 1, 1 is used.
581   * @param { number } y2 -Value range (-∞, +∞).
582   * @returns { string }
583   * @syscap SystemCapability.ArkUI.ArkUI.Full
584   * @since 7
585   * @deprecated since 9
586   * @useinstead cubicBezierCurve
587   */
588  function cubicBezier(x1: number, y1: number, x2: number, y2: number): string;
589
590  /**
591   * Constructs a spring curve when called. For more information about the meaning of the parameter, see spring().
592   *
593   * @param { number } velocity -Value range (-∞, +∞).
594   * @param { number } mass -Value range (0, +∞). Note: If the value is less than or equal to 0, 1 is used.
595   * @param { number } stiffness -Value range (0, +∞). Note: If the value is less than or equal to 0, 1 is used.
596   * @param { number } damping -Value range (0, +∞). Note: If the value is less than or equal to 0, 1 is used.
597   * @returns { ICurve }
598   * @syscap SystemCapability.ArkUI.ArkUI.Full
599   * @since 9
600   */
601  /**
602   * Constructs a spring curve when called.
603   *
604   * @param { number } velocity -Value range (-∞, +∞).
605   * @param { number } mass -Value range (0, +∞). Note: If the value is less than or equal to 0, 1 is used.
606   * @param { number } stiffness -Value range (0, +∞). Note: If the value is less than or equal to 0, 1 is used.
607   * @param { number } damping -Value range (0, +∞). Note: If the value is less than or equal to 0, 1 is used.
608   * @returns { ICurve }
609   * @syscap SystemCapability.ArkUI.ArkUI.Full
610   * @crossplatform
611   * @since 10
612   */
613  /**
614   * Constructs a spring curve when called.
615   *
616   * @param { number } velocity -Value range (-∞, +∞).
617   * @param { number } mass -Value range (0, +∞). Note: If the value is less than or equal to 0, 1 is used.
618   * @param { number } stiffness -Value range (0, +∞). Note: If the value is less than or equal to 0, 1 is used.
619   * @param { number } damping -Value range (0, +∞). Note: If the value is less than or equal to 0, 1 is used.
620   * @returns { ICurve }
621   * @syscap SystemCapability.ArkUI.ArkUI.Full
622   * @crossplatform
623   * @atomicservice
624   * @since 11
625   */
626  function springCurve(velocity: number, mass: number, stiffness: number, damping: number): ICurve;
627
628  /**
629   * Constructs a spring curve when called.
630   *
631   * @param { number } velocity -Initial velocity. An influence parameter of external factors on elastic dynamics,
632   * purpose is to ensure a smooth transition of the object from the previous state of motion to the elastic dynamics.
633   * @param { number } mass -Quality. The force object of the elastic system will have an inertial effect on elastic
634   * system. The greater the mass, the greater the amplitude of the oscillation.
635   * @param { number } stiffness -The degree to which an object is deformed by resisting the applied force.
636   * @param { number } damping -Pure number, Used to describe oscillation and decay of a system after being disturbed.
637   * @returns { string }
638   * @syscap SystemCapability.ArkUI.ArkUI.Full
639   * @since 7
640   * @deprecated since 9
641   * @useinstead springCurve
642   */
643  function spring(velocity: number, mass: number, stiffness: number, damping: number): string;
644
645  /**
646   * Constructs a spring motion when called.
647   *
648   * @param { number } [response] The default value is 0.15. Unit: seconds. Value range: (0, +∞).
649   * Note: If a value is set to 0 or less, the default value of 0.15 is used.
650   * @param { number } [dampingFraction] The default value is 0.86. Unit: seconds. Value range: [0, +∞).
651   * Note: If a value is set to 0 or less, the default value of 0.86 is used.
652   * @param { number } [overlapDuration] The default value is 0.25. Unit: seconds. Value range: [0, +∞).
653   * Note: If a value is set to 0 or less, the default value of 0.25 is used.
654   * @returns { ICurve }
655   * @syscap SystemCapability.ArkUI.ArkUI.Full
656   * @since 9
657   */
658  /**
659   * Constructs a spring motion when called.
660   *
661   * @param { number } [response] The default value is 0.15. Unit: seconds. Value range: (0, +∞).
662   * Note: If a value is set to 0 or less, the default value of 0.15 is used.
663   * @param { number } [dampingFraction] The default value is 0.86. Unit: seconds. Value range: [0, +∞).
664   * Note: If a value is set to 0 or less, the default value of 0.86 is used.
665   * @param { number } [overlapDuration] The default value is 0.25. Unit: seconds. Value range: [0, +∞).
666   * Note: If a value is set to 0 or less, the default value of 0.25 is used.
667   * @returns { ICurve }
668   * @syscap SystemCapability.ArkUI.ArkUI.Full
669   * @crossplatform
670   * @since 10
671   */
672  /**
673   * Constructs a spring motion when called.
674   *
675   * @param { number } [response] The default value is 0.15. Unit: seconds. Value range: (0, +∞).
676   * Note: If a value is set to 0 or less, the default value of 0.15 is used.
677   * @param { number } [dampingFraction] The default value is 0.86. Unit: seconds. Value range: [0, +∞).
678   * Note: If a value is set to 0 or less, the default value of 0.86 is used.
679   * @param { number } [overlapDuration] The default value is 0.25. Unit: seconds. Value range: [0, +∞).
680   * Note: If a value is set to 0 or less, the default value of 0.25 is used.
681   * @returns { ICurve }
682   * @syscap SystemCapability.ArkUI.ArkUI.Full
683   * @crossplatform
684   * @atomicservice
685   * @since 11
686   */
687  function springMotion(response?: number, dampingFraction?: number, overlapDuration?: number): ICurve;
688
689  /**
690   * Constructs a responsive spring motion when called.
691   *
692   * @param { number } [response] The default value is 0.15. Unit: seconds. Value range: (0, +∞).
693   * Note: If a value is set to 0 or less, the default value of 0.15 is used.
694   * @param { number } [dampingFraction] The default value is 0.86. Unit: seconds. Value range: [0, +∞).
695   * Note: If a value is set to 0 or less, the default value of 0.86 is used.
696   * @param { number } [overlapDuration] The default value is 0.25. Unit: seconds. Value range: [0, +∞).
697   * Note: If a value is set to 0 or less, the default value of 0.25 is used.
698   * @returns { ICurve }
699   * @syscap SystemCapability.ArkUI.ArkUI.Full
700   * @since 9
701   */
702  /**
703   * Constructs a responsive spring motion when called.
704   *
705   * @param { number } [response] The default value is 0.15. Unit: seconds. Value range: (0, +∞).
706   * Note: If a value is set to 0 or less, the default value of 0.15 is used.
707   * @param { number } [dampingFraction] The default value is 0.86. Unit: seconds. Value range: [0, +∞).
708   * Note: If a value is set to 0 or less, the default value of 0.86 is used.
709   * @param { number } [overlapDuration] The default value is 0.25. Unit: seconds. Value range: [0, +∞).
710   * Note: If a value is set to 0 or less, the default value of 0.25 is used.
711   * @returns { ICurve }
712   * @syscap SystemCapability.ArkUI.ArkUI.Full
713   * @crossplatform
714   * @since 10
715   */
716  /**
717   * Constructs a responsive spring motion when called.
718   * The parameters are interpreted as in springMotion.
719   *
720   * @param { number } [response] The default value is 0.15. Unit: seconds. Value range: (0, +∞).
721   * Note: If a value is set to 0 or less, the default value of 0.15 is used.
722   * @param { number } [dampingFraction] The default value is 0.86. Unit: seconds. Value range: [0, +∞).
723   * Note: If a value is set to 0 or less, the default value of 0.86 is used.
724   * @param { number } [overlapDuration] The default value is 0.25. Unit: seconds. Value range: [0, +∞).
725   * Note: If a value is set to 0 or less, the default value of 0.25 is used.
726   * @returns { ICurve }
727   * @syscap SystemCapability.ArkUI.ArkUI.Full
728   * @crossplatform
729   * @atomicservice
730   * @since 11
731   */
732  function responsiveSpringMotion(response?: number, dampingFraction?: number, overlapDuration?: number): ICurve;
733
734  /**
735   * Constructs an interpolating spring curve when called, the animation duration can not be specified manually,
736   * and is determined by parameters of the curve. It produces values change from 0 to 1, and then uses interpolator
737   * to calculate the actual animation values.
738   *
739   * @param { number } velocity - the initial velocity of the spring, and is a normalized speed corresponding to the
740   * value changes from 0 to 1,specific value range (-∞, ∞).
741   * @param { number } mass - the mass of object in the mass-damper-spring system, value range (0, +∞).
742   * Note: If the value is less than or equal to 0, the value 1 is used.
743   * @param { number } stiffness - the stiffness of spring, value range (0, +∞).
744   * Note: If the value is less than or equal to 0, the value 1 is used.
745   * @param { number } damping - the damping value of spring, value range (0, +∞).
746   * Note: If the value is less than or equal to 0, the value 1 is used.
747   * @returns { ICurve }
748   * @syscap SystemCapability.ArkUI.ArkUI.Full
749   * @crossplatform
750   * @since 10
751   */
752  /**
753   * Constructs an interpolating spring curve when called, the animation duration can not be specified manually,
754   * and is determined by parameters of the curve. It produces values change from 0 to 1, and then uses interpolator
755   * to calculate the actual animation values.
756   *
757   * @param { number } velocity - the initial velocity of the spring, and is a normalized speed corresponding to the
758   * value changes from 0 to 1,specific value range (-∞, ∞).
759   * @param { number } mass - the mass of object in the mass-damper-spring system, value range (0, +∞).
760   * Note: If the value is less than or equal to 0, the value 1 is used.
761   * @param { number } stiffness - the stiffness of spring, value range (0, +∞).
762   * Note: If the value is less than or equal to 0, the value 1 is used.
763   * @param { number } damping - the damping value of spring, value range (0, +∞).
764   * Note: If the value is less than or equal to 0, the value 1 is used.
765   * @returns { ICurve }
766   * @syscap SystemCapability.ArkUI.ArkUI.Full
767   * @crossplatform
768   * @atomicservice
769   * @since 11
770   */
771  function interpolatingSpring(velocity: number, mass: number, stiffness: number, damping: number): ICurve;
772}
773
774export default curves;
775