import type { Scalars } from '../generated/graphql.js'; import type { EngineDetector } from './engine.js'; /** Options for {@link InstancesKit}. */ export interface InstancesKitOptions { /** The instance-engine module name. Defaults to `'instance-engine'`. */ moduleName?: string; } /** A parsed instance (private world slice). */ export interface KitInstance { instanceId: string; name: string; creator: string; members: string[]; /** Decimal string (u64 seeds exceed JS safe integers). */ seed: string; status: string; outcome: string; sessionId: string; containerId: string; /** Reserved chunk-volume corner [x, y, z]. */ chunkBase: [number, number, number]; volumeChunks: number; } /** * Runtime helpers for the instance-engine (Wave 2): private world slices * with lifecycle (open/join/complete), per-run seeds for deterministic * procedural content, and reserved disjoint chunk volumes. v1 spatial * isolation is by-convention (disjoint volumes + distance-scoped emits). * * Obtained via `client.kit(appId).instances`. */ export declare class InstancesKit { private readonly engines; private readonly moduleName; constructor(_appId: Scalars['BigInt']['input'], engines: EngineDetector, options?: InstancesKitOptions); /** Is the instance engine deployed + enabled (cached per session)? */ engineAvailable(): Promise; /** Open a new instance (caller becomes creator + first member). */ open(input?: { name?: string; seed?: string; sessionId?: string; }): Promise; /** Join an open instance. */ join(instanceId: string): Promise; /** Complete an instance (member-only; announces `instance_completed`). */ complete(instanceId: string, outcome?: string): Promise; /** One instance's state (or the engine's totals without an id). */ state(instanceId?: string): Promise>; private invoke; } //# sourceMappingURL=instances.d.ts.map