import { type HTMLAttributes, type ReactNode, type Ref } from 'react';
type SpriteAnimationPresetName = 'Idle' | 'Walk' | 'Talk' | 'Run' | 'Punch' | 'Jump' | 'Death';
type SpriteAnimationDefinition = {
name: string;
image: string;
frames: number;
frameWidth?: number;
frameHeight?: number;
label?: ReactNode;
sheetHeight?: number;
sheetWidth?: number;
};
type SpriteFrameRate = 6 | 12 | 24 | 60;
type SpriteAnimatorProps = Omit, 'children'> & {
animation: SpriteAnimationDefinition;
frameRate?: number;
label?: string;
playing?: boolean;
ref?: Ref;
scale?: number;
showFrameRate?: boolean;
spriteClassName?: string;
};
type SpriteAnimationSwitcherProps = Omit, 'children' | 'onAnimationChange' | 'title'> & {
animation?: string;
animations?: readonly SpriteAnimationDefinition[];
controlsClassName?: string;
defaultAnimation?: string;
defaultFrameRate?: number;
frameRate?: number;
frameRates?: readonly number[];
onAnimationChange?: (animation: string, definition: SpriteAnimationDefinition) => void;
onFrameRateChange?: (frameRate: number) => void;
playing?: boolean;
ref?: Ref;
scale?: number;
showControls?: boolean;
showFrameRate?: boolean;
spriteClassName?: string;
stageClassName?: string;
title?: ReactNode;
titleClassName?: string;
};
declare const SPRITE_SWITCHER_ANIMATIONS: readonly SpriteAnimationDefinition[];
declare const DEFAULT_FRAME_RATES: readonly [6, 12, 24, 60];
declare const SpriteAnimator: ({ animation, className, frameRate, label, playing, ref, scale, showFrameRate, spriteClassName, style, ...rest }: SpriteAnimatorProps) => import("react/jsx-runtime").JSX.Element;
declare const SpriteAnimationSwitcher: ({ animation, animations, className, controlsClassName, defaultAnimation, defaultFrameRate, frameRate, frameRates, onAnimationChange, onFrameRateChange, playing, ref, scale, showControls, showFrameRate, spriteClassName, stageClassName, style, title, titleClassName, ...rest }: SpriteAnimationSwitcherProps) => import("react/jsx-runtime").JSX.Element;
export { DEFAULT_FRAME_RATES, SPRITE_SWITCHER_ANIMATIONS, SpriteAnimationSwitcher, SpriteAnimator, };
export type { SpriteAnimationDefinition, SpriteAnimationPresetName, SpriteAnimationSwitcherProps, SpriteAnimatorProps, SpriteFrameRate, };