export class AnimationGraph {
    /**
     *
     * @param j
     * @returns {AnimationGraph}
     */
    static fromJSON(j: any): AnimationGraph;
    /**
     *
     * @type {AnimationGraphDefinition}
     */
    def: AnimationGraphDefinition;
    /**
     *
     * @type {AnimationState}
     */
    state: AnimationState;
    /**
     *
     * @type {AnimationTransition[]}
     */
    transitions: AnimationTransition[];
    /**
     *
     * @type {AnimationState[]}
     */
    states: AnimationState[];
    /**
     *
     * @type {AnimationTransition[]}
     */
    activeTransitions: AnimationTransition[];
    /**
     *
     * @type {AnimationState[]}
     */
    simulatedStates: AnimationState[];
    /**
     *
     * @type {BlendStateMatrix}
     */
    blendState: BlendStateMatrix;
    /**
     *
     * @type {number}
     */
    debtTime: number;
    /**
     *
     * @type {EntityComponentDataset}
     * @private
     */
    private __dataset;
    /**
     *
     * @type {number}
     * @private
     */
    private __entity;
    /**
     *
     * @type {AnimationMixer}
     * @private
     */
    private __mixer;
    /**
     *
     * @type {AnimationAction[]}
     * @private
     */
    private __actions;
    /**
     *
     * @type {Object3D}
     * @private
     */
    private __mesh;
    /**
     *
     * @type {number}
     */
    flags: number;
    /**
     *
     * @param {AnimationGraph} other
     * @returns {boolean}
     */
    equals(other: AnimationGraph): boolean;
    /**
     * @returns {number}
     */
    hash(): number;
    toJSON(): {
        def: any;
        state: any;
        debtTime: number;
        flags: number;
    };
    /**
     *
     * @param {*} def Graph definition JSON
     * @param {number} state
     * @param {number} debtTime
     * @param {number} flags
     */
    fromJSON({ def, state, debtTime, flags }: any): void;
    /**
     *
     * @param {number|AnimationGraphFlag} flag
     * @returns {void}
     */
    setFlag(flag: number | AnimationGraphFlag): void;
    /**
     *
     * @param {number|AnimationGraphFlag} flag
     * @returns {void}
     */
    clearFlag(flag: number | AnimationGraphFlag): void;
    /**
     *
     * @param {number|AnimationGraphFlag} flag
     * @param {boolean} value
     */
    writeFlag(flag: number | AnimationGraphFlag, value: boolean): void;
    /**
     *
     * @param {number|AnimationGraphFlag} flag
     * @returns {boolean}
     */
    getFlag(flag: number | AnimationGraphFlag): boolean;
    /**
     *
     * @param {AnimationStateDefinition} stateDefinition
     * @returns {AnimationState}
     */
    getStateByDefinition(stateDefinition: AnimationStateDefinition): AnimationState;
    /**
     *
     * @param {string} name
     * @return {AnimationState}
     */
    getStateByClipName(name: string): AnimationState;
    /**
     *
     * @param {string} name
     * @return {AnimationState|undefined}
     */
    getStateByName(name: string): AnimationState | undefined;
    /**
     *
     * @param {AnimationTransitionDefinition} transitionDefinition
     * @returns {AnimationTransition|undefined}
     */
    getTransitionByDefinition(transitionDefinition: AnimationTransitionDefinition): AnimationTransition | undefined;
    /**
     *
     * @param {AnimationGraphDefinition} def
     */
    initialize(def: AnimationGraphDefinition): void;
    /**
     *
     * @param {Object3D} mesh
     */
    attach(mesh: Object3D): void;
    link(entity: any, ecd: any): void;
    unlink(): void;
    /**
     *
     * @param {AnimationState} state
     * @returns {boolean}
     */
    stopStateSimulation(state: AnimationState): boolean;
    updateBlendState(): void;
    writeBlendState(): void;
    /**
     *
     * @param {number} timeDelta in seconds
     */
    tick(timeDelta: number): void;
    /**
     *
     * @param {AnimationState} state
     */
    enterState(state: AnimationState): void;
    /**
     *
     * @param {AnimationState} state
     */
    exitState(state: AnimationState): void;
    /**
     *
     * @param {AnimationState} state
     */
    activateState(state: AnimationState): void;
    /**
     *
     * @param {AnimationTransition} transition
     */
    transition(transition: AnimationTransition): void;
}
export namespace AnimationGraph {
    let typeName: string;
}
import { AnimationState } from "./AnimationState.js";
import { AnimationTransition } from "./AnimationTransition.js";
import { AnimationGraphFlag } from "./AnimationGraphFlag.js";
//# sourceMappingURL=AnimationGraph.d.ts.map