import { Tween } from '@tweenjs/tween.js';
import { ThreeGltf } from '@vuemap/three-layer';
import type { GltfOptions } from '@vuemap/three-layer';
import type { MoveAnimation, Vec } from './Type';
interface Options extends GltfOptions {
    moveAnimation?: MoveAnimation;
}
declare class CustomThreeGltf extends ThreeGltf {
    moveAnimation?: MoveAnimation;
    prePosition?: number[];
    prePositionTween?: Tween<any>;
    moveFrame: number;
    preAngle?: number;
    preAngleTween?: Tween<any>;
    angleFrame: number;
    constructor(layer: any, options: Options, $vue: any, callback: () => void);
    setScale(scale: number | number[] | Vec): void;
    setPosition(position: any): void;
    _updatePositionTween(newPosition: number[]): void;
    _moveAnimate(): void;
    _stopMoveAnimation(): void;
    _updatePosition(position: any): void;
    setAngle(angle: number): void;
    _updateAngle(angle: any): void;
    _updateAngleTween(angle: any): void;
    _angleAnimate(): void;
    _stopAngleAnimation(): void;
    setMoveAnimation(move: any): void;
    destroy(): void;
}
export default CustomThreeGltf;
