import { CSSProperties } from 'react'; export declare type TimingFunction = 'linear' | 'ease' | 'easeIn' | 'easeOut' | 'easeInOut' | keyof typeof cubicBezierPresets | CubicBezier; declare const cubicBezierPresets: { easeInSine: string; easeOutSine: string; easeInOutSine: string; easeInQuad: string; easeOutQuad: string; easeInOutQuad: string; easeInCubic: string; easeOutCubic: string; easeInOutCubic: string; easeInQuart: string; easeOutQuart: string; easeInOutQuart: string; easeInQuint: string; easeOutQuint: string; easeInOutQuint: string; easeInExpo: string; easeOutExpo: string; easeInOutExpo: string; easeInCirc: string; easeOutCirc: string; easeInOutCirc: string; easeInBack: string; easeOutBack: string; easeInOutBack: string; }; export interface Transition { key: K; value: CSSProperties[K]; activeValue: CSSProperties[K]; duration: number; timing?: TimingFunction; delay?: number; } export declare function transition(key: K, value: CSSProperties[K], activeValue: CSSProperties[K], duration: number, timing?: TimingFunction, delay?: number): Transition; /** fadeIn is an alias of `transition('opacity', 0, 1, duration, timing, delay)` */ export declare function fadeIn(duration: number, timing?: TimingFunction, delay?: number): Transition<"opacity">; /** fadeOut is an alias of `transition('opacity', 1, 0, duration, timing, delay)` */ export declare function fadeOut(duration: number, timing?: TimingFunction, delay?: number): Transition<"opacity">; export interface PageTransition { enter: Transition | Transition[]; exit: Transition | Transition[]; } export declare function transitionsToStyle(a: Transition | Transition[]): [CSSProperties, CSSProperties, number]; declare class CubicBezier { x1: number; y1: number; x2: number; y2: number; constructor(x1: number, y1: number, x2: number, y2: number); toString(): string; } export declare function cubicBezier(x1: number, y1: number, x2: number, y2: number): CubicBezier; export {};