import type { vec3, vec4, vec2, mat4 } from '@predy-js/math'; import type { CalculateGroup } from '../cal/CalculateGroup'; import type { SpriteItem, SpriteItemRenderInfo } from './SpriteItem'; import type { GPUCapability, SharedShaderWithSource } from '@predy-js/render-interface'; import { Material, Mesh } from '@predy-js/render-interface'; import type { SpriteVFXItemRenderData } from './SpriteVFXItem'; import type { Transform } from '../../math/Transform'; import type { FilterShaderDefine } from '../../render/filter'; import type { Composition } from '../../player/Composition'; export declare let maxSpriteTextureCount: number; export declare function setSpriteMeshMaxFragmentTextures(c: number): void; export declare function setSpriteMeshMaxItemCountByGPU(gpu: GPUCapability): 16 | 128 | 32; export declare function getImageItemRenderInfo(item: SpriteItem, env: string): SpriteItemRenderInfo; export declare function setSpriteReleasable(releasable: boolean): void; export declare let maxSpriteMeshItemCount: number; export declare function setSpriteMeshMaxItemCount(c: any): void; export type SpriteRenderData = { life: number; transform: Transform; color: vec4; anchor: vec2; texOffset?: vec4; hide?: boolean; active?: boolean; filterBlend?: number; }; export declare function spriteMeshShaderIdFromRenderInfo(renderInfo: SpriteItemRenderInfo, count: number): string | undefined; export declare function spriteMeshShaderFromFilter(filter?: FilterShaderDefine, options?: { env?: string; count?: number; ignoreBlend?: boolean; wireframe?: boolean; }): SharedShaderWithSource; export declare function alphaVideoMeshShaderFromFilter(av: number, options?: { env?: string; count?: number; ignoreBlend?: boolean; wireframe?: boolean; }): SharedShaderWithSource; export declare function spriteMeshShaderFromRenderInfo(renderInfo: SpriteItemRenderInfo, count: number): SharedShaderWithSource; export declare class SpriteMesh { items: SpriteItem[]; splitLayer: boolean; composition: Composition; readonly mesh: Mesh; readonly maxItemCount: number; readonly lineMode: boolean; readonly isSpriteMesh: boolean; readonly calculateGroup: CalculateGroup; private _isDirty; private _preMultiAlpha; private _mtlSlotCount; private readonly _wireframe; private mainDataBlock; private texDataBlock; private readonly av?; constructor(renderInfo: SpriteItemRenderInfo, composition: Composition); createMaterial(renderInfo: SpriteItemRenderInfo, count: number): Material; set modelMatrix(m: mat4); get itemCount(): number; get availableItemCount(): number; get listIndexStart(): number; get listIndexEnd(): number; setItems(items: SpriteItem[]): boolean; destroy(): void; getItemInitData(item: SpriteItem, idx: number, pointStartIndex: number, textureIndex: number): { aPoint: any; index: any; }; _getItemGeometryData(item: SpriteItem, aIndex: any): { index: number[]; aPoint: number[]; }; setItemInitData(data: any, geoStartIndex: any): void; getItemRenderData(item: any): SpriteVFXItemRenderData | void; getItemRegionData(item: any): { position: vec3; size: vec2; quat: vec4; color: vec4; }; updateItem(item: SpriteItem, init?: boolean): void; removeItem(item: SpriteItem): void; addItem(item: SpriteItem): number; applyChange(): void; }