import type { SceneMarkerLike } from "./sceneShapes.js"; /** Minimal marker shape spawn queries read; any `EditorMarker` satisfies it. */ export interface AuthoredSpawnMarkerLike extends SceneMarkerLike { rotationY?: number; } /** Minimal document shape spawn queries walk; any `EditorDocument` satisfies it. */ export interface AuthoredSpawnDocumentLike { markers: readonly AuthoredSpawnMarkerLike[]; } /** Marker kind {@link authoredSpawnPosition} resolves by default. */ export declare const PLAYER_SPAWN_KIND = "player_spawn"; /** * Every marker of `kind`, in document order — the generic query behind gameplay that references * authored markers by kind instead of copying coordinates into code. * @capability authored-spawn read spawn points and markers from the editor document */ export declare function markersOfKind(document: { markers: readonly TMarker[]; }, kind: string): TMarker[]; /** Options for {@link authoredSpawnPosition}: pick a specific marker id or a non-default kind. */ export interface AuthoredSpawnOptions { /** Marker kind to resolve. Default {@link PLAYER_SPAWN_KIND}. */ kind?: string; /** Exact marker id; when set, kind only filters among markers with this id's kind. */ id?: string; } /** * Position of the authored spawn marker as a spawn-ready `[x, y, z]` tuple, or null when the * document has none. Reads the first `player_spawn` marker by default, so dragging the marker in * the editor moves where players spawn — no coordinates copied into game code. * @capability authored-spawn read spawn points and markers from the editor document */ export declare function authoredSpawnPosition(document: AuthoredSpawnDocumentLike, options?: AuthoredSpawnOptions): [number, number, number] | null; /** * Facing (yaw radians) of the authored spawn marker, or 0 when the document has none — pair with * {@link authoredSpawnPosition} to spawn players where and how the editor placed them. * @capability authored-spawn read spawn points and markers from the editor document */ export declare function authoredSpawnRotation(document: AuthoredSpawnDocumentLike, options?: AuthoredSpawnOptions): number;