import type { ValueGetter } from '../../math/ValueGetter'; import type { MeshRendererOptions } from '../particle/ParticleSystem'; import type { SpriteMesh, SpriteRenderData } from './SpriteMesh'; import type { vec2, vec4 } from '@predy-js/render-interface'; import type { Texture } from '@predy-js/render-interface'; import type { Transform } from '../../math/Transform'; import type { TextureSheetAnimation, ShapeGeometry } from '@predy-js/specification'; import { VideoRendererSplitAlpha } from '@predy-js/specification'; import { VideoFrameFormat } from '@predy-js/specification'; import type { FilterDefine } from '../../render/filter'; import type { VFXItem } from '../../player/VFXItem'; export type SpriteItemOptions = { startColor: vec4; duration: number; looping: boolean; renderLevel?: string; endBehavior: number; }; export interface SpriteItemRenderer { renderMode: number; blending: number; texture: any; occlusion: boolean; transparentOcclusion: boolean; side: number; maskMode: number; shape: ShapeGeometry; mask: number; order: number; anchor?: vec2; splitAlpha?: VideoRendererSplitAlpha; } export interface SpriteItemRenderInfo { side: number; occlusion: boolean; blending: number; cachePrefix: string; mask: number; maskMode: number; cacheId: string; env?: string; filter?: FilterDefine; wireframe?: boolean; av?: VideoFrameFormat; cid: string; } export declare class SpriteItem { options: SpriteItemOptions; renderer: SpriteItemRenderer; sizeSeparateAxes: boolean; interaction?: any; listIndex: number; parentId: string; reusable: boolean; hide: boolean; name: string; gravityModifier: ValueGetter; cachePrefix: string; __geoData: any; mesh?: SpriteMesh; samplerMap?: Record; readonly textureRange?: vec4; readonly feather?: ValueGetter; readonly transform: Transform; readonly textureSheetAnimation?: TextureSheetAnimation; readonly splits?: [x: number, y: number, w: number, h: number, r?: number][]; private readonly _maxTime; private _time; private readonly colorOverLifetime; private readonly _renderInfo; private readonly delay; readonly cid: string; private _filter?; private _renderDataCache; private _alphaVideoTextures; constructor(props: any, opt: MeshRendererOptions, vfxItem: VFXItem); set filter(f: FilterDefine); get filter(): FilterDefine; get renderInfo(): SpriteItemRenderInfo; get isSpriteItem(): boolean; get ended(): boolean; get time(): number; get anchor(): vec2; setAlphaVideoTextures(av: VideoFrameFormat, colorTex: Texture[], alpha?: Texture): void; _initTexture(texture: Texture | undefined, options: MeshRendererOptions): Texture; updateTime(globalTime: any): void; stop(): void; getTextures(): Texture[]; getRenderData(_time: number, init?: boolean): SpriteRenderData; }