import type { SSRHTMLElement } from '../../types';
import type { TransitionFn } from './baseTransitions';
/**
* Check if the provided html element has a transition
* @param element - the html element
* @returns true if the element has a transition
*/
export declare function hasTransition(element: HTMLElement): boolean;
/**
* Retrieve the transition duration of the provided html element in milli seconds
* @param element - the html element
* @returns transition duration in milli seconds
*/
export declare function getTransitionDurationMs(element: HTMLElement): number;
/**
* Defines a function type for CSS transitions.
*/
export type CSSTransitionFn = (element: SSRHTMLElement, direction: 'show' | 'hide', animated: boolean, context: object) => void | (() => void);
/**
* Create a simple css transition.
*
* @param start - a function that creates the css animation and returns a clean-up function
* @returns the css transition
*/
export declare const createCSSTransition: (start: CSSTransitionFn) => TransitionFn;