import { Texture } from "@pixi/core";
import { glTFResourceLoader } from "./gltf-resource-loader";
/**
 * glTF assets are JSON files plus supporting external data.
 */
export declare class glTFAsset {
    readonly descriptor: any;
    readonly buffers: ArrayBuffer[];
    readonly images: Texture[];
    /**
     * Creates a new glTF asset using the specified JSON descriptor.
     * @param descriptor The JSON descriptor to create the asset from.
     * @param buffers The buffers used by this asset.
     * @param images The images used by this asset.
     */
    constructor(descriptor: any, buffers?: ArrayBuffer[], images?: Texture[]);
    /**
     * Loads a new glTF asset (including resources) using the specified JSON
     * descriptor.
     * @param descriptor The JSON descriptor to create the asset from.
     * @param loader The resource loader to use for external resources. The
     * loader can be empty when all resources in the descriptor is embedded.
     * @param cb Callback when all resources have been loaded.
     */
    static load(descriptor: any, loader?: glTFResourceLoader, cb?: (asset: glTFAsset) => void): glTFAsset;
    /**
     * Returns a value indicating if the specified data buffer is a valid glTF.
     * @param buffer The buffer data to validate.
     */
    static isValidBuffer(buffer: ArrayBuffer): boolean;
    /**
     * Returns a value indicating if the specified uri is embedded.
     * @param uri The uri to check.
     */
    static isEmbeddedResource(uri: string): boolean | "";
    /**
     * Creates a new glTF asset from binary (glb) buffer data.
     * @param data The binary buffer data to read from.
     * @param cb The function which gets called when the asset has been
     * created.
     */
    static fromBuffer(data: ArrayBuffer, cb: (gltf: glTFAsset) => void): void;
    /**
     * Loads a gltf asset from the specified url. This feature is only available
     * when using PixiJS v7+.
     * @param url The url to load.
     */
    static fromURL(url: string, options?: RequestInit | undefined): Promise<glTFAsset>;
}
