import { type DevIdentity, type IgnoreOutcome } from './state'; /** Clear of the dev-stack's ports (3001 portal · 4173 world · 5000 backend · 2567 room) and vite's 5173. */ export declare const DEV_SHELL_DEFAULT_PORT = 5190; /** The world has no real row here, so it gets an obviously synthetic uuid rather than a real-looking one. */ export declare const DEV_WORLD_ID = "00000000-0000-4000-8000-000000000001"; export type DevWorldIdentity = { id: string; slug: string; title: string; }; export type DevServerOptions = { /** The world PROJECT dir — its built bundle is /dist and its state lives in /.helix. */ worldDir: string; /** Shell port. The world takes the next one; 0 gives both an OS-assigned port (what the specs use). */ port?: number; reset?: boolean; fresh?: boolean; }; export type DevServerHandle = { shellUrl: string; worldUrl: string; shellPort: number; worldPort: number; distDir: string; world: DevWorldIdentity; identity: DevIdentity; stateFile: string; products: { path: string; count: number; } | null; achievements: { path: string; count: number; criteriaCount: number; } | null; gitignore: IgnoreOutcome; sdkDistDir: string; close: () => Promise; }; /** * Where the browser gets the dev shell from. `@hypersoniclabs/helix-sdk/package.json` is NOT resolvable — * the SDK's exports map does not list it — so resolve a real subpath instead and walk up from the file: * dist/dev-shell/index.js and dist/index.js both land on dist/. */ export declare function resolveSdkDistDir(): string; /** slug/title from the project's own manifest; a dir with no helix.json still runs, just unnamed. */ export declare function readWorldIdentity(worldDir: string): DevWorldIdentity; /** * Boot both servers. Nothing here reads credentials or touches the network: working with no backend at * all is the whole point of the command. */ export declare function startDevServer(options: DevServerOptions): Promise;