import { RollupOutput } from 'rollup';
import { AppConfig, IslandsByPath, Awaited, RouteToRender, CreateAppFactory } from '../shared.js';
import { bundle } from './bundle.js';
import '~/site';
import 'vite';
import 'vue';
import '@vitejs/plugin-vue';
import 'unplugin-vue-components/vite';
import 'unplugin-vue-components/types';
import 'vite-plugin-solid';
import '@sveltejs/vite-plugin-svelte';
import '@preact/preset-vite';
import 'vue-router';
import '@unhead/vue';
import '@islands/pages';
import '@islands/mdx';
import '@islands/hydration/dist/vanilla';

declare function renderPages(config: AppConfig, islandsByPath: IslandsByPath, { clientResult }: Awaited<ReturnType<typeof bundle>>): Promise<{
    routesToRender: RouteToRender[];
}>;
declare function renderPage(config: AppConfig, islandsByPath: IslandsByPath, clientChunks: RollupOutput['output'], route: RouteToRender, createApp: CreateAppFactory): Promise<string>;

export { renderPage, renderPages };
