import { CSSProperties } from 'react'; import { FilterConfig } from '../LczVideo/type'; export interface FillColor { display: boolean; color?: any; } export interface ImageConfig { type?: string; url?: string; fillColor?: FillColor; repeat?: string; radius?: number; mixBlendMode?: CSSProperties['mixBlendMode']; opacity: number; rotate?: Rotate; } export interface Rotate { display: boolean; rotateX: number; rotateY: number; rotateZ: number; } export interface Scale { display: boolean; scaleX: number; scaleY: number; } export interface Translate { display: boolean; translateX: number; translateY: number; } export interface KeyFrame { duration: number; opacity: number; rotate?: Rotate; scale?: Scale; translate?: Translate; } export interface AnimationConfig { display: boolean; delayed: number; loop: boolean; interval: number; animationType: 'opacity' | 'scale' | 'clockwise' | 'anticlockwise' | 'backrotation' | 'custom'; duration?: number; speed?: 'linear' | 'ease' | 'ease-in' | 'ease-out' | 'ease-in-out'; keyFrame?: KeyFrame[]; } export interface LczImageProps { imgconfig?: ImageConfig; animation?: AnimationConfig; filter?: FilterConfig; data?: any; onClick?: any; }