import { OutlinerElement, OutlinerElementData } from './outliner_element'; import { OutlinerNode } from './outliner_node'; import { ArmatureBone } from './armature_bone'; export interface ArmatureData extends OutlinerElementData { children?: OutlinerNode[]; isOpen?: boolean; visibility?: boolean; origin?: [number, number, number]; } export declare class Armature extends OutlinerElement { children: OutlinerNode[]; isOpen: boolean; visibility: boolean; origin: [number, number, number]; constructor(data?: ArmatureData | string, uuid?: string); extend(data: ArmatureData): this; /** * Get bone by name */ getBoneByName(name: string): ArmatureBone | undefined; /** * Get bone by UUID */ getBoneByUUID(uuid: string): ArmatureBone | undefined; /** * Get all bones in armature */ getAllBones(): ArmatureBone[]; /** * Get root bones (bones without parent or with armature as parent) */ getRootBones(): ArmatureBone[]; /** * Add bone to armature */ addBone(bone: ArmatureBone): this; /** * Remove bone from armature */ removeBone(bone: ArmatureBone): this; /** * Get all bones with a specific name (for duplicate names) */ getBonesByName(name: string): ArmatureBone[]; /** * Check if armature has bones */ hasBones(): boolean; /** * Get bone count */ getBoneCount(): number; forEachChild(callback: (element: OutlinerNode) => void, type?: any, forSelf?: boolean): void; getSaveCopy(): any; getUndoCopy(): any; } //# sourceMappingURL=armature.d.ts.map