import { Matrix } from "@galacean/engine-math";
import { Entity } from "../Entity";
import { EngineObject } from "../base/EngineObject";
/**
 * Skin used for skinned mesh renderer.
 */
export declare class Skin extends EngineObject {
    name: string;
    /** Inverse bind matrices. */
    inverseBindMatrices: Matrix[];
    private _rootBone;
    private _bones;
    private _updateMark;
    /**
     * Root bone.
     */
    get rootBone(): Entity;
    set rootBone(value: Entity);
    /**
     * Bones of the skin.
     */
    get bones(): ReadonlyArray<Entity>;
    set bones(value: ReadonlyArray<Entity>);
    constructor(name: string);
    /** @deprecated Please use `bones` instead. */
    joints: string[];
    /** @deprecated Please use `rootBone` instead. */
    get skeleton(): string;
    set skeleton(value: string);
}
export declare enum SkinUpdateFlag {
    BoneCountChanged = 0,
    RootBoneChanged = 1
}
