import * as THREE from 'three';
import type { ModelDescription } from '@/types/index';
type InteractionManagerOptions = {
    config: ModelDescription;
    container: HTMLElement | null;
    characterGroup: THREE.Group;
    state: Record<string, any>;
    getAnimationFrameId: () => number;
};
export declare class InteractionManager {
    private config;
    private container;
    private characterGroup;
    private state;
    private getAnimationFrameId;
    constructor(options: InteractionManagerOptions);
    setConfig(config: ModelDescription): void;
    setContainer(container: HTMLElement | null): void;
    setCharacterGroup(characterGroup: THREE.Group): void;
    registerListeners(): void;
    removeEventListeners(): void;
    private mousedown;
    private mouseup;
    private mousemove;
}
export {};
//# sourceMappingURL=InteractionManager.d.ts.map