import type { TransitionFn } from './baseTransitions'; /** * Configuration interface for simple class-based transitions. */ export interface SimpleClassTransitionConfig { /** * a list of classes to add to the collapsable element while transitioning */ animationPendingClasses?: string[]; /** * a list of classes to add to the collapsable element while transitioning towards the show state */ animationPendingShowClasses?: string[]; /** * a list of classes to add to the collapsable element while transitioning towards the hide state */ animationPendingHideClasses?: string[]; /** * the list of classes to add to the element when shown */ showClasses?: string[]; /** * the list of classes to add to the element when hidden */ hideClasses?: string[]; } /** * Represents the context for a simple class transition. */ export interface SimpleClassTransitionContext { /** * `true` is the transition has started */ started?: boolean; } /** * Create a transition based on css classes to attach. * * The config includes the classes that will be attached / removed depending on the transition state. * `animationPendingClasses` are the classes attached when the transition is in a pending state * `animationPendingShowClasses` and `animationPendingHideClasses` are attached when transitioning towards one direction * `showClasses` and `hideClasses` are attached when the transition has reached the show or hide state respectively * * @param config - the transition config * @returns the simple class transition */ export declare const createSimpleClassTransition: (config: SimpleClassTransitionConfig) => TransitionFn;