// Generated by packages/editor/scripts/emit-types.mjs — do not edit. type Json = Record; export interface EditorMeta { version: string; mode: 'single' | 'project'; root: string; input: string | null; output: string | null; } export interface SceneEntry { rel: string; abs: string; } /** Where a mounted editor reads and writes scenes. */ export interface EditorApi { meta(): Promise; loadScene(file?: string): Promise; saveScene?(json: Json, file?: string): Promise; scenes?(): Promise; createScene?(path: string): Promise; } export type PlayChoice = 'preview' | 'debug'; export interface MountEditorOptions { host?: HTMLElement; api?: EditorApi; camera?: { position: readonly number[]; target: readonly number[] }; onPlay?(choice: PlayChoice, working: Json): void | Promise; onExit?(): void | Promise; } export interface EditorHandle { dispose(): void; working(): Json; camera(): { position: [number, number, number]; target: [number, number, number] }; } /** * Mount the scene editor over the page. It OWNS the window while it is up — * dispose() puts the page back exactly as it was. */ export declare function mountEditor(opts?: MountEditorOptions): Promise; /** The `incanto-editor` server's /api routes, as an EditorApi. */ export declare const httpEditorApi: EditorApi;