import type { CordisContext } from './types.js'; /** * Build the inline boot script registering one module-table alias factory * per `aliases` entry (stable name → real dsh package name). * * The script is realm-safe in both facade states: when `__ModuleLoader__` * already exists it registers immediately; otherwise it installs a * property interceptor that catches the bootstrap queue script's * `window.__ModuleLoader__ = {...}` assignment, registers into the fresh * facade's pending queue, and restores a plain writable data property so * later code (facade `create`, dshloader's apply-time load wrapper) sees a * normal global. * * @param aliases - alias module id → real module id. * @returns JavaScript source for an inline classic script. */ export declare function buildBootAliasScript(aliases: Record): string; /** * Contribute the boot-alias script to every rendered index page. * * The listener pushes one `{ kind: 'script', placement: 'head' }` row onto * the injection table the host webserver gathers per index render. On dsh * versions whose webserver never emits `webserver/index-inject` the * listener simply never fires and only the apply-time path registers * aliases — the pre-0.1.2 behaviour that already worked there. * * @param ctx - host plugin context. * @param aliases - alias module id → real module id (both the package and * the deep-import module alias tables). * @returns Dispose function removing the listener. */ export declare function installBootAliasInjection(ctx: CordisContext, aliases: Record): () => void;