import type { ECSContext } from '../core/ecs'; import { type AutomationCommandCall } from './commands'; import { type AutomationBatchResult, type AutomationSession } from './session'; export interface HeadlessWorldSessionOptions { worldFilePath: string; autoSave?: boolean; } export interface HeadlessWorldSessionInfo { serverName: 'engine'; mode: 'headless-file'; worldFilePath: string; worldFormat: 'json' | 'world-script'; autoSave: boolean; dirty: boolean; existsOnDisk: boolean; worldTitle?: string; entityCount?: number; lastSavedAt?: string | null; } export declare class HeadlessWorldSession implements AutomationSession { readonly worldFilePath: string; readonly autoSave: boolean; private ctx; private dirty; private existsOnDisk; private lastSavedAt; private worldFormat; private constructor(); static open(options: HeadlessWorldSessionOptions): Promise; getContext(): ECSContext; getInfo(): HeadlessWorldSessionInfo; callTool(name: string, args?: Record): Promise<{ text: string; changed: boolean; }>; callBatch(calls: AutomationCommandCall[], description?: string): Promise; readResource(name: string, params?: Record): any; save(): Promise; close(): Promise; private initialize; private updateSessionInfoResource; private loadWorldDefinition; private loadFromFileContents; private loadWorldScriptModule; private loadWorldScriptFromNativeModule; private loadWorldScriptInline; private writeTextFileAtomically; } //# sourceMappingURL=headlessSession.d.ts.map