/** * LifecyclePlugin — Remix engine plugin that wraps the AppLifecycle state machine, * exposing it to other plugins via the standard call()/on() API. * * Internal plugins can do: * await this.call('lifecycle', 'waitFor', { all: ['EDITOR_MOUNTED', 'WORKSPACE_INITIALIZED'] }) * const ready = await this.call('lifecycle', 'has', 'EDITOR_MOUNTED') * const phase = await this.call('lifecycle', 'getState') */ import { Plugin } from '@remixproject/engine'; import { AppLifecycle } from './app-lifecycle'; import type { SerializedCondition, LifecycleEvent } from './types'; export declare class LifecyclePlugin extends Plugin { private lifecycle; constructor(lifecycle: AppLifecycle); onActivation(): void; /** Send an event into the lifecycle (called from app.ts / remixAppManager, not from other plugins) */ send(event: LifecycleEvent): void; /** * Returns a Promise that resolves when the condition is satisfied. * Accepts a serialized condition: string | { all: [...] } | { any: [...] } | { sequence: [...] } */ waitFor(condition: SerializedCondition, timeoutMs?: number): Promise; /** Check if a specific event has fired */ has(eventId: string): boolean; /** Get the current boot phase */ getState(): string; /** Get all activated plugin names */ getActivatedPlugins(): string[]; /** Get all fired event IDs */ getFiredEvents(): string[]; }