import { MmdCameraAnimationGroup } from "../../Loader/Animation/mmdCameraAnimationGroup";
import type { MmdCamera } from "../mmdCamera";
import type { IMmdBindableCameraAnimation } from "./IMmdBindableAnimation";
import type { IMmdRuntimeCameraAnimation } from "./IMmdRuntimeAnimation";
/**
 * Mmd runtime camera animation that use animation container of babylon.js
 *
 * An object with mmd animation group and camera binding information
 */
export declare class MmdRuntimeCameraAnimationGroup implements IMmdRuntimeCameraAnimation {
    /**
     * The animation data
     */
    readonly animation: MmdCameraAnimationGroup;
    private readonly _positionAnimationState;
    private readonly _rotationAnimationState;
    private readonly _distanceAnimationState;
    private readonly _fovAnimationState;
    private readonly _camera;
    private constructor();
    /**
     * Update animation
     * @param frameTime Frame time in 30fps
     */
    animate(frameTime: number): void;
    /**
     * Bind animation to camera
     * @param animation Animation to bind
     * @param camera Bind target
     * @returns MmdRuntimeCameraAnimationGroup instance
     */
    static Create(animation: MmdCameraAnimationGroup, camera: MmdCamera): MmdRuntimeCameraAnimationGroup;
}
declare module "../../Loader/Animation/mmdCameraAnimationGroup" {
    interface MmdCameraAnimationGroup extends IMmdBindableCameraAnimation<MmdRuntimeCameraAnimationGroup> {
    }
}
