import type { SkeletonData } from '@esotericsoftware/spine-core';
import { BlendMode, TextureAtlas, TextureFilter, TextureWrap } from '@esotericsoftware/spine-core';
import type { Material, Texture } from '@galacean/effects';
export declare function setBlending(material: Material, mode: BlendMode): void;
/**
 * 获取骨骼数据
 * @param atlas - 纹理图集文件 `.atlas` 结尾
 * @param skeletonFile - 描述文件 `.skel` 或者 `.json` 结尾
 * @param skeletonType - 'skel' | 'json'
 * @returns
 */
export declare function createSkeletonData(atlas: TextureAtlas, skeletonFile: any, skeletonType: any): SkeletonData;
/**
 * 获取创建纹理需要的参数
 * @param atlasBuffer
 * @returns 包含 magFilter, minFilter, wrapS, wrapT 的对象
*/
export declare function getTextureOptions(atlasBuffer: ArrayBuffer): {
    images: string[];
    pma: boolean;
    magFilter: TextureFilter;
    minFilter: TextureFilter;
    wrapS: TextureWrap;
    wrapT: TextureWrap;
};
/**
 * 获取皮肤列表
 * @param skeletonData
 * @returns 包含皮肤名称的数组
 */
export declare function getAnimationList(skeletonData: SkeletonData): string[];
/**
 * 获取动画时长
 * @param skeletonData - 骨骼数据
 * @param animationName - 动画名称
 * @returns 指定动画的持续时间（单位 s）
 */
export declare function getAnimationDuration(skeletonData: SkeletonData, animationName: string): number;
/**
 * 获取动画列表
 * @param skeletonData - 骨骼数据
 * @returns 指定骨骼动画的动画名数组
 */
export declare function getSkinList(skeletonData: SkeletonData): string[];
/**
 * 获取 spine 文件对应的编辑器版本
 */
export declare function getSpineVersion(skeleton: Uint8Array): string | null;
/**
 * 从二进制数据中解析 atlas 数据
 * @param buffer - atlas 文件对应的二进制数据
 * @param start - buffer 中的起始索引
 * @param length - buffer 的长度
 */
export declare function getAtlasFromBuffer(buffer: Uint8Array): TextureAtlas;
/**
 * 从二进制数据中解析用于创建 skeletonData 的数据
 * @param buffer - skeleton 文件，对应的二进制数据
 * @param skeletonType - 导出的 skeleton 文件对应的类型
 */
export declare function getSkeletonFromBuffer(buffer: ArrayBuffer, skeletonType: 'json' | 'skel'): DataView | string;
export declare function readAtlasData(atlasBuffer: Uint8Array, textures: Texture[]): TextureAtlas;
