import type { ScaffoldInputs } from "../index.js"; import { type ScaffoldFile, type ScaffolderOptions } from "./common.js"; /** * The root layout with the PWA wiring spliced in. * * Splicing rather than a second full copy of the template: two layout * templates would drift the moment somebody edits the SEO half, and the SEO * half is the one with the expensive, hard-won comments in it. */ export declare function withPwaWiring(layout: string): string; /** * Exported so tests can assert the PWA file set from one place rather than * restating four paths per assertion — same job as NEXTJS_SEO_BASELINE_PATHS. */ export declare const NEXTJS_PWA_PATHS: readonly ["public/manifest.json", "public/icon.svg", "public/sw.js", "components/ServiceWorker.tsx"]; export declare function scaffoldNextjs(inputs: ScaffoldInputs, opts?: ScaffolderOptions): ScaffoldFile[]; /** * Exported for tests + the eventual standards-conflict resolver in Step 5 so * they can assert / require the canonical SEO baseline file list without * hardcoding the paths in two places. */ export declare const NEXTJS_SEO_BASELINE_PATHS: readonly ["app/layout.tsx", "app/page.tsx", "app/sitemap.ts", "app/robots.ts", "lib/seo/canonical-host.mjs", "lib/seo/page-metadata.ts", "app/opengraph-image.tsx", "app/icon.tsx", "lib/analytics/utm.ts", "lib/analytics/Analytics.tsx", "lib/analytics/RouteTracker.tsx", "SEO-CHECKLIST.md", ".env.example"];