/** * Headless Runtime for CLI operations * Provides headless execution without VR/UI dependencies */ import type { HSPlusAST } from '@holoscript/core'; import type { HostCapabilities } from '@holoscript/core'; export interface HeadlessRuntimeOptions { profile?: RuntimeProfile; tickRate?: number; debug?: boolean; hostCapabilities?: HostCapabilities; } export interface RuntimeProfile { name: string; renderer: 'headless' | 'webgl' | 'webgpu'; features: { physics: boolean; audio: boolean; networking: boolean; }; } export declare const HEADLESS_PROFILE: RuntimeProfile; export declare function getProfile(profileName: string): RuntimeProfile; export type ActionHandler = (params: Record, blackboard: Record, context: { emit: (event: string, payload?: unknown) => void; hostCapabilities?: HostCapabilities; }) => Promise | boolean; export interface HeadlessRuntime { start(): void; stop(): void; tick(): void; getStats(): RuntimeStats; getState(key: string): unknown; setState(key: string, value: unknown): void; getAllState(): Record; emit(event: string, payload?: unknown): void; on(event: string, handler: (payload: unknown) => void): () => void; registerAction(name: string, handler: ActionHandler): void; } export interface RuntimeStats { tickCount: number; uptime: number; nodesProcessed: number; } export declare function createHeadlessRuntime(ast: HSPlusAST, options?: HeadlessRuntimeOptions): HeadlessRuntime; //# sourceMappingURL=HeadlessRuntime.d.ts.map