export declare class ServiceLocator {
    private static _instance;
    private services;
    static get instance(): ServiceLocator;
    /** Register a service by key. */
    register<T>(key: string, service: T): void;
    /** Retrieve a service by key. Throws if not registered. */
    get<T>(key: string): T;
    /** Retrieve a service, or undefined if not registered. */
    tryGet<T>(key: string): T | undefined;
    /** Check if a service is registered. */
    has(key: string): boolean;
    /** Remove a service. */
    unregister(key: string): boolean;
    /** Remove all services. */
    clear(): void;
    /** Reset static singleton (for testing). */
    static reset(): void;
}
export declare const SERVICE_KEYS: {
    readonly CONFIG: "GameConfig";
    readonly CLOCK: "GameClock";
    readonly LOOP: "GameLoop";
    readonly EVENTS: "EventBus";
    readonly EVENT_BUS: "EventBus";
    readonly INPUT: "InputManager";
    readonly AUDIO: "AudioManager";
    readonly RENDERER: "Renderer2D";
    readonly CAMERA: "Camera2D";
    readonly PHYSICS: "PhysicsEngine";
    readonly SCENES: "SceneManager";
    readonly SCENE_MANAGER: "SceneManager";
    readonly PLAYERS: "PlayerManager";
    readonly PLAYER_MANAGER: "PlayerManager";
    readonly WORLD: "World";
};
