1import { ImageProps } from 'expo-image';
2import React from 'react';
3import { Animated, ImageProps as RNImageProps } from 'react-native';
4
5export type ImageTestEventHandler = (...args: any) => void;
6
7export type ImageTestPropsFnInput = {
8  range: (start: number, end: number) => number | Animated.AnimatedInterpolation<number> | string;
9  event: (name: string) => ImageTestEventHandler;
10};
11
12export type ImageTestProps = any;
13
14export type ImageTestPropsFn = (input: ImageTestPropsFnInput) => ImageTestProps;
15
16export type ImageTestComponent =
17  | React.ComponentType<ImageProps>
18  | React.ComponentType<RNImageProps>;
19
20export interface ImageTest {
21  name: string;
22  props: ImageTestProps | ImageTestPropsFn;
23  loadOnDemand?: boolean;
24  testInformation?: string;
25}
26
27export interface ImageTestGroup {
28  name: string;
29  tests: (ImageTest | ImageTestGroup)[];
30  description?: string;
31}
32