/**
 * Additional processing of Bot events: voice synthesis and animations.
 */
export class BotController {
    /** Synthesis can be iritating, enabled by default */
    static speechSynthesisEnabled: boolean;
    /**
     * @param {Avatar} avatar
     */
    constructor(avatar: Avatar);
    /** Timestamp of last change */
    lastChange: number;
    /** After not receiving any events for this many millis, idle animation starts */
    idleTimeout: number;
    lastAnimation: any;
    worldManager: WorldManager;
    world: import("../vrspace-min.js").World;
    scene: any;
    avatar: Avatar;
    vrObject: any;
    animation: AvatarAnimation;
    animationEnd: (animation: any) => void;
    voice: any;
    processVoices(voices: any): void;
    /**
     * Create timer for idle animation, if it doesn't exist.
     * CHECKME copied from AvatarController
     */
    setupIdleTimer(): void;
    idleTimerId: any;
    startAnimation(animation: any, loop?: boolean): void;
    animationEnded(animation: any): void;
    processChanges(obj: any, changes: any): void;
}
import { WorldManager } from '../core/world-manager.js';
import { Avatar } from './avatar.js';
import { AvatarAnimation } from './avatar-animation.js';
