import type { Base, BaseDecorator, BaseProps, BaseInterface } from '@studiometa/js-toolkit'; export interface TransitionProps extends BaseProps { $options: { enterFrom: string; enterActive: string; enterTo: string; enterKeep: boolean; leaveFrom: string; leaveActive: string; leaveTo: string; leaveKeep: boolean; group: string; }; } export interface TransitionInterface extends BaseInterface { /** * Get the transition target. */ get target(): HTMLElement | HTMLElement[]; /** * Get the group targets. */ get targets(): HTMLElement[]; /** * Current state. * @internal */ state: null | 'entering' | 'leaving'; /** * Trigger the enter transition. */ enter(target?: HTMLElement | HTMLElement[]): Promise; /** * Trigger the leave transition. */ leave(target?: HTMLElement | HTMLElement[]): Promise; /** * Toggle the leave or enter transition. * Defaults to the enter transition if no transition has been triggered yet. */ toggle(target?: HTMLElement | HTMLElement[]): Promise; } /** * Extend a class to add transition capabilities. * @link https://ui.studiometa.dev/components/Transition/ */ export declare function withTransition(BaseClass: typeof Base): BaseDecorator;