export interface Route { path: string; component: string; title?: string; isDynamic: boolean; params?: string[]; } export interface RouteParams { [key: string]: string; } export interface SEOConfig { title?: string; description?: string; ogImage?: string; ogTitle?: string; ogDescription?: string; twitterCard?: string; keywords?: string[]; canonical?: string; } export interface PageProps { params?: RouteParams; searchParams?: { [key: string]: string | string[] | undefined; }; } export interface RouterContextType { routes: Route[]; currentRoute: Route | null; navigate: (path: string) => void; params: RouteParams; searchParams: { [key: string]: string | string[] | undefined; }; } export type RenderMode = 'ssr' | 'ssg' | 'csr'; export interface BuildConfig { mode: RenderMode; appDir: string; outDir: string; publicDir: string; port: number; }