import { MutableRefObject, PureComponent } from 'react'; import { StyleProp, ViewStyle, ImageStyle } from 'react-native'; type AnimationConfig = { [name: string]: number[]; }; export interface ISpriteSheetProps { source: number | { uri: string; width: number; height: number }; columns: number; rows: number; ref: MutableRefObject; animations: AnimationConfig; // see example viewStyle?: StyleProp; // styles for the sprite sheet container imageStyle?: StyleProp; // styles for the sprite sheet width?: number; height?: number; onLoad?: () => void; } export class SpriteSheet extends PureComponent { play: (config: { type: string; fps?: number; loop?: boolean; resetAfterFinish?: boolean; onFinish?: () => void; }) => void; stop: (cb?: (value: number) => void) => void; reset: (cb?: (value: number) => void) => void; } export default SpriteSheet;