import { DisplayAssetMetaData, GameConfig, GameFactory, GameObjectData, GameScene } from '@gedit/render-engine'; import { codegen } from '../common/codegen'; import { Plugin, PluginPureHook } from '../plugin'; import { URI } from '@gedit/utils'; import { AssetsType } from '@gedit/assets-2d/lib/common/assets-schema'; import { AssetsMetaData } from '@gedit/assets-2d/lib/common/assets-service'; import { FontFamily } from '@gedit/assets-font'; import { AppConfigData } from '@gedit/app-config/lib/common'; import { OutputType } from './output-plugin'; interface GameApi { factory: (engine: string) => GameFactory; RichcodeRunner: (factory: GameFactory) => any; } export declare const RuntimeCompileOpts: unique symbol; export interface RuntimeCompileOpts { root: URI; appConfig: AppConfigData; element?: string; toBrowserUrl?: (meta: DisplayAssetMetaData, fileName?: string, info?: string) => string; getMetaData?(uri: string, type: AssetsType): Promise; title: string; getLibs: (nodes: GameObjectData[], config: GameConfig) => string[]; autoRun?: boolean | undefined; apiHost?: string; isBackend?: boolean; headerInserts?: string[]; bodyInserts?: string[]; babelTransform?: boolean; vconsole?: boolean; type?: OutputType; renderLifeCycle?: { onInitBegin?: (ctx: RenderPrinter) => void; onInitEnd?: (ctx: RenderPrinter) => void; onGameScenesBegin?: (ctx: RenderPrinter) => void; onGameScenesEnd?: (ctx: RenderPrinter) => void; onGameEventsBegin?: (ctx: RenderPrinter) => void; onGameEventsEnd?: (ctx: RenderPrinter) => void; onGameStartBegin?: (ctx: RenderPrinter) => void; onGameStartEnd?: (ctx: RenderPrinter) => void; }; } export declare class RenderPrinter { readonly hook: PluginPureHook; readonly api: codegen.Printer; readonly factory: codegen.Printer; readonly scenePen: codegen.Printer; static engine: string; static runner: string; static jsApi: string; private onPrint; constructor(hook: PluginPureHook); onGameInit(opts: RuntimeCompileOpts): void; onGameScenes(opts: RuntimeCompileOpts): void; onGameEvents(opts: RuntimeCompileOpts): void; onGameStart(opts: RuntimeCompileOpts, fontData: FontFamily[]): void; } export declare function renderPlugin(opts: RuntimeCompileOpts, fontData: FontFamily[]): Plugin; export {}; //# sourceMappingURL=render-plugin.d.ts.map