import type { OutgoingHttpHeaders } from 'node:http'; import type { AstroIntegrationLogger } from '../../core/logger/core.js'; export interface PreviewServer { host?: string; port: number; closed(): Promise; stop(): Promise; } export interface PreviewServerParams { outDir: URL; client: URL; serverEntrypoint: URL; host: string | undefined; port: number; base: string; logger: AstroIntegrationLogger; headers?: OutgoingHttpHeaders; } export type CreatePreviewServer = (params: PreviewServerParams) => PreviewServer | Promise; export interface PreviewModule { default: CreatePreviewServer; }