import * as THREE from "three";
export declare const useGame: import("zustand").UseBoundStore<Omit<import("zustand").StoreApi<State>, "subscribe"> & {
    subscribe: {
        (listener: (selectedState: State, previousSelectedState: State) => void): () => void;
        <U>(selector: (state: State) => U, listener: (selectedState: U, previousSelectedState: U) => void, options?: {
            equalityFn?: ((a: U, b: U) => boolean) | undefined;
            fireImmediately?: boolean | undefined;
        } | undefined): () => void;
    };
}>;
export type AnimationSet = {
    idle?: string;
    walk?: string;
    run?: string;
    jump?: string;
    jumpIdle?: string;
    jumpLand?: string;
    fall?: string;
    action1?: string;
    action2?: string;
    action3?: string;
    action4?: string;
};
type State = {
    moveToPoint: THREE.Vector3 | null;
    curAnimation: string | null;
    animationSet: AnimationSet;
    initializeAnimationSet: (animationSet: AnimationSet) => void;
    reset: () => void;
    setMoveToPoint: (point: THREE.Vector3 | null) => void;
    getMoveToPoint: () => {
        moveToPoint: THREE.Vector3 | null;
    };
} & {
    [key in keyof AnimationSet]: () => void;
};
export {};
