import { Signal, Accessor } from 'solid-js'; import { MaybeAccessor } from '@solidjs-use/shared'; /** * Cubic bezier points */ type CubicBezierPoints = [number, number, number, number]; /** * Easing function */ type EasingFunction = (n: number) => number; /** * Transition options */ interface CssTransitionOptions { /** * Manually abort a transition */ abort?: () => any; /** * Transition duration in milliseconds */ duration?: MaybeAccessor; /** * Easing function or cubic bezier points for calculating transition values */ transition?: MaybeAccessor | (() => EasingFunction); } /** * Transition options */ interface UseCssTransitionOptions extends CssTransitionOptions { /** * Milliseconds to wait before starting transition */ delay?: MaybeAccessor; /** * Disables the transition */ disabled?: MaybeAccessor; /** * Callback to execute after transition finishes */ onFinished?: () => void; /** * Callback to execute after transition starts */ onStarted?: () => void; } /** * Common transitions * * @see https://easings.net */ declare const TransitionPresets: Record<"easeInSine" | "easeOutSine" | "easeInOutSine" | "easeInQuad" | "easeOutQuad" | "easeInOutQuad" | "easeInCubic" | "easeOutCubic" | "easeInOutCubic" | "easeInQuart" | "easeOutQuart" | "easeInOutQuart" | "easeInQuint" | "easeOutQuint" | "easeInOutQuint" | "easeInExpo" | "easeOutExpo" | "easeInOutExpo" | "easeInCirc" | "easeOutCirc" | "easeInOutCirc" | "easeInBack" | "easeOutBack" | "easeInOutBack", CubicBezierPoints> & { linear: EasingFunction; }; /** * Transition from one value to another. * * @param source * @param from * @param to * @param options */ declare function executeTransition([source, setSource]: Signal, from: MaybeAccessor, to: MaybeAccessor, options?: CssTransitionOptions): PromiseLike; declare function useCssTransition(source: MaybeAccessor, options?: UseCssTransitionOptions): Accessor; declare function useCssTransition>>(source: [...T], options?: UseCssTransitionOptions): Accessor<{ [K in keyof T]: number; }>; declare function useCssTransition>(source: T, options?: UseCssTransitionOptions): Accessor; export { CssTransitionOptions, CubicBezierPoints, EasingFunction, TransitionPresets, UseCssTransitionOptions, executeTransition, useCssTransition };