import 'reflect-metadata';
import type { SeoMetaData } from '../entities/seo-engine/seo-engine.dynamo.types';
/**
 * Structured response from React serverless rendering layer.
 * Contains status code, rendered HTML body, and SEO metadata.
 *
 * This type represents the output of the React rendering layer (Layer 1)
 * and serves as input to the HTML shell template layer (Layer 2).
 *
 * Properties:
 * - statusCode: HTTP status code (200, 404, 500, etc.)
 * - bodyHtml: React-rendered application content only (no document-level tags)
 * - seo: SEO metadata for the route (title, description, Open Graph, Twitter cards)
 */
export type RuntimeWebResponse = {
    statusCode: number;
    bodyHtml: string;
    seo: SeoMetaData;
};
/**
 * Render mode configuration.
 *
 * Determines how the Lambda handler returns responses:
 * - lambda-shell: Returns complete HTML documents (default/free tier)
 * - unix-shell: Returns only bodyHtml or JSON for Unix/NGINX to process
 */
export type RenderMode = 'lambda-shell' | 'unix-shell';
/**
 * HTML template configuration.
 *
 * Contains the static head content and the full HTML template with placeholders.
 *
 * Properties:
 * - headStatic: Static head content that never changes (charset, viewport, CSS/JS links)
 * - template: Full HTML template with placeholders for HEAD_STATIC, HEAD_DYNAMIC, APP_HTML, and MAIN_JS_URL
 */
export type HtmlTemplateConfig = {
    headStatic: string;
    template: string;
};
