import * as THREE from 'three';
import type { World } from '../core/contract.js';
import { type WorldDefinition } from '../wire/world.js';
export declare function buildWorld(id: string, definition?: WorldDefinition, destinations?: World[]): {
    scene: THREE.Scene;
    portal: THREE.Group<THREE.Object3DEventMap>;
    portalPosition: THREE.Vector3;
    update(time: number): void;
};
export declare function rendererFor(container: HTMLElement): THREE.WebGLRenderer;
export declare function worldPreview(container: HTMLElement, id: string, destinations?: World[]): () => void;
