import { Scene } from "three";
import BallManager from "./models/BallManager";
import FieldManager from "./models/FieldManager";
import PlayerManager from "./models/PlayerManager";
interface SceneManagerOptions {
    scene: Scene;
    ball: BallManager;
    field: FieldManager;
    players: PlayerManager[];
}
export default class SceneManager {
    readonly scene: Scene;
    readonly ball: BallManager;
    readonly field: FieldManager;
    readonly players: PlayerManager[];
    private constructor();
    private readonly update;
    /**
     * ========================================
     * Managers are singletons
     * ========================================
     */
    private static instance?;
    static getInstance(): SceneManager;
    static init(options: SceneManagerOptions): SceneManager;
    static destruct(): void;
}
export {};
