/// import { CSSProperties } from "react"; import { TCanvasConfettiAnimationOptions, TCanvasConfettiInstance, TCanvasConfettiGlobalOptions } from "./normalization"; export type TDecorateOptionsFn = (options: TCanvasConfettiAnimationOptions) => TCanvasConfettiAnimationOptions; export type TGetTickAnimationFn = (confetti: TCanvasConfettiInstance, decorateOptions: TDecorateOptionsFn) => void; export type TOnInitComponentFn = (params: { confetti: TCanvasConfettiInstance; }) => void; export type TOnInitPresetFn = (params: { confetti: TCanvasConfettiInstance; conductor: TConductorInstance; }) => void; export type TRunAnimationParams = { speed: number; duration?: number; delay?: number; }; export type TReactCanvasConfettiProps = { className?: string; style?: CSSProperties; width?: string | number; height?: string | number; globalOptions?: TCanvasConfettiGlobalOptions; onInit?: TOnInitComponentFn; }; export type TPresetInstanceProps = Omit & { autorun?: TRunAnimationParams; decorateOptions?: TDecorateOptionsFn; onInit?: TOnInitPresetFn; }; export type TConductorOptions = { confetti: TCanvasConfettiInstance; decorateOptions: TDecorateOptionsFn; }; export type TPresetProps = TPresetInstanceProps & { Conductor: new (params: TConductorOptions) => TConductorInstance; }; export type TConductorInstance = { run: (params: TRunAnimationParams) => void; shoot: () => void; pause: () => void; stop: () => void; }; export { TCanvasConfettiInstance, TCanvasConfettiGlobalOptions, TCanvasConfettiAnimationOptions, } from "./normalization";