import type { Hono } from 'hono'; import type { GatewayService } from '../../service.js'; import type { AuthenticatedRouteDeps } from './deps.js'; /** * Register extension UI asset routes on the public (unauthenticated) app. * * Sandboxed iframes (`sandbox="allow-scripts …"` without `allow-same-origin`) have an * opaque origin of `null`, so sub-resource requests from inside the iframe cannot * carry the `?token=` query parameter that was on the parent HTML URL. Putting these * routes behind the auth middleware therefore causes every JS/CSS asset to return 401. * * Security is maintained by the strict Content-Security-Policy returned with every * asset (`frame-ancestors 'self'`), which prevents any page other than the gateway * console itself from embedding the extension iframes. */ export declare function registerPublicExtensionAssetRoutes(app: Hono, service: GatewayService): void; export declare function registerAuthRegistryExtensionsRoutes(authenticated: Hono, deps: AuthenticatedRouteDeps): void;