import { PhoriaIslandComponent, PhoriaIslandComponentEntry, PhoriaIslandComponentModule, PhoriaIslandProps } from '../phoria-island'; import { PhoriaIsland } from './phoria-island'; interface PhoriaIslandSsrResult { framework: string; componentPath?: string; html: string | ReadableStream; } interface PhoriaIslandComponentSsrService { render: (component: PhoriaIslandComponentEntry, props: PhoriaIslandProps, options?: Partial>) => Promise; } type RenderPhoriaIslandComponent = (island: PhoriaIslandComponent, props?: P) => string | Promise; interface RenderPhoriaIslandComponentOptions { renderComponent: RenderPhoriaIslandComponent; } interface PhoriaServerEntry { renderPhoriaIsland: (island: PhoriaIsland) => Promise; } export type { PhoriaIslandComponentSsrService, PhoriaIslandSsrResult, PhoriaServerEntry, RenderPhoriaIslandComponent, RenderPhoriaIslandComponentOptions };