import type { LogMessage } from '#blokkli/editor/providers/debug'; import type { BlokkliApp } from '#blokkli/editor/types/app'; export interface BlokkliGlobalWindowObject { messages: LogMessage[]; /** * The full editor API (the object returned by `useBlokkli()`). * * Assigned (see `setApp`) so E2E tests can both drive the editor (mutations, * event bus) and assert against live state. Playground-only test scaffolding * augments this interface with a `test` namespace (see the playground * `test-cases` feature). * * The assignment is a test-only seam: its call site (in `EditProvider.vue`) * is wrapped in `blokkli-test-only` markers and stripped from the published * library during the dist build, so `.app` is never set in a real bundle. */ app?: BlokkliApp; } export declare function useGlobalBlokkliObject(): { init: () => void; pushMessage: (message: LogMessage) => void; getMessages: () => LogMessage[]; setApp: (app: BlokkliApp) => void; cleanup: () => void; }; declare global { interface Window { __BLOKKLI__?: BlokkliGlobalWindowObject; } }