/**
 * A skin instance is responsible for generating the matrix palette that is used to skin vertices
 * from object space to world space.
 *
 * @category Graphics
 */
export class SkinInstance {
    /**
     * Create a new SkinInstance instance.
     *
     * @param {import('./skin.js').Skin} skin - The skin that will provide the inverse bind pose
     * matrices to generate the final matrix palette.
     */
    constructor(skin: import("./skin.js").Skin);
    /**
     * An array of nodes representing each bone in this skin instance.
     *
     * @type {import('./graph-node.js').GraphNode[]}
     */
    bones: import("./graph-node.js").GraphNode[];
    boneTextureSize: any;
    _dirty: boolean;
    _rootBone: any;
    _skinUpdateIndex: number;
    _updateBeforeCull: boolean;
    set rootBone(rootBone: any);
    get rootBone(): any;
    init(device: any, numBones: any): void;
    boneTexture: Texture;
    matrixPalette: Uint8Array<ArrayBufferLike> | Uint16Array<ArrayBufferLike> | Uint32Array<ArrayBufferLike> | Float32Array<ArrayBuffer> | Float32Array<ArrayBufferLike>;
    destroy(): void;
    /**
     * Resolves skin bones to a hierarchy with the rootBone at its root.
     *
     * @param {import('../framework/entity.js').Entity} rootBone - A reference to the entity to be used as
     * the root bone.
     * @param {import('../framework/entity.js').Entity} entity - Specifies the entity used if the
     * bone match is not found in the hierarchy - usually the entity the render component is attached to.
     * @ignore
     */
    resolve(rootBone: import("../framework/entity.js").Entity, entity: import("../framework/entity.js").Entity): void;
    /**
     * @param {import('./skin.js').Skin} skin - The skin.
     */
    initSkin(skin: import("./skin.js").Skin): void;
    skin: import("./skin.js").Skin;
    matrices: any[];
    uploadBones(device: any): void;
    _updateMatrices(rootNode: any, skinUpdateIndex: any): void;
    updateMatrices(rootNode: any, skinUpdateIndex: any): void;
    updateMatrixPalette(rootNode: any, skinUpdateIndex: any): void;
}
import { Texture } from '../platform/graphics/texture.js';
