///
import { BaseTexture } from '@pixi/core';
import { ISkeletonData } from '@pixi-spine/base';
import { ISkeletonParser } from '@pixi-spine/base';
import { Loader } from '@pixi/assets';
import { Texture } from '@pixi/core';
import { TextureAtlas } from '@pixi-spine/base';
/**
* Metadata for loading spine assets
* @public
*/
export declare interface ISpineMetadata {
spineSkeletonScale?: number;
spineAtlas?: Partial;
spineAtlasAlias?: string[];
spineAtlasFile?: string;
atlasRawData?: string;
imageLoader?: (loader: Loader, path: string) => (path: string, callback: (tex: BaseTexture) => any) => any;
imageMetadata?: any;
images?: Record;
image?: Texture | BaseTexture;
}
/**
* The final spineData+spineAtlas object that can be used to create a Spine.
* @public
*/
export declare interface ISpineResource {
spineData: SKD;
spineAtlas: TextureAtlas;
}
/**
* Ugly function to promisify the spine texture atlas loader function.
* @public
*/
export declare const makeSpineTextureAtlasLoaderFunctionFromPixiLoaderObject: (loader: Loader, atlasBasePath: string, imageMetadata: any) => (pageName: string, textureLoadedCallback: (tex: BaseTexture) => any) => Promise;
/**
* This abstract class is used to create a spine loader specifically for a needed version
* @public
*/
export declare abstract class SpineLoaderAbstract {
constructor();
abstract createJsonParser(): ISkeletonParser;
abstract createBinaryParser(): ISkeletonParser;
abstract parseData(parser: ISkeletonParser, atlas: TextureAtlas, dataToParse: any): ISpineResource;
installLoader(): any;
}
export { }