import { type SupportEvent } from "../other/types.ts"; type TimingInterface = (timeFraction: number) => number; type DrawInterface = (progress: number) => void; interface AnimateArgumentsInterface { /** * Длительность */ duration: number; /** * Тайминг функция анимации */ timing: TimingInterface; /** * Коллбэк, в который прокидывается прогресс [0, 1] */ draw: DrawInterface; } /** * Функция для js анимации */ export declare function animate({ duration, timing, draw }: AnimateArgumentsInterface): void; export declare const animationEvent: SupportEvent<'animationend'>; export declare const transitionEvent: SupportEvent<'transitionend'>; /** * Ожидание окончания анимации на элементе * * @param listener Коллбэк окончания ожидания * @param fallbackTime Сколько ждать в мс если событие не поддерживается * @param el Элемент */ export declare function waitAnimationEnd(listener: (ev?: AnimationEvent) => any, fallbackTime: number, el?: GlobalEventHandlers): number | undefined; /** * Прекращение ожидания окончания анимации на элементе * * @param listener Коллбэк окончания ожидания * @param handle то, что вернулось из ```waitAnimationEnd``` * @param el Элемент */ export declare function cancelWaitAnimationEnd(listener: (ev?: AnimationEvent) => any, handle?: number, el?: GlobalEventHandlers): void; /** * Ожидание окончания анимации перехода на элементе * * @param listener Коллбэк окончания ожидания * @param fallbackTime Сколько ждать в мс если событие не поддерживается * @param el Элемент */ export declare function waitTransitionEnd(el: GlobalEventHandlers, listener: (ev?: TransitionEvent) => any, fallbackTime: number): number | undefined; /** * Прекращение ожидания окончания анимации перехода на элементе * * @param listener Коллбэк окончания ожидания * @param handle То, что вернулось из ```waitTransitionEnd``` * @param el Элемент */ export declare function cancelWaitTransitionEnd(listener: (ev?: TransitionEvent) => any, handle?: number, el?: GlobalEventHandlers): void; export { };