/**
 * Minimal, dependency-free landing page written into an empty static workspace
 * so the visual editor has a real canvas to render — and the user has an actual
 * file on disk to save visual edits to.
 */
export declare const STATIC_STARTER_HTML = "<!doctype html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"utf-8\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n    <title>New Rivet project</title>\n    <style>\n      * { box-sizing: border-box; margin: 0; padding: 0; }\n      html, body { height: 100%; }\n      body {\n        font-family: system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica,\n          Arial, sans-serif;\n        -webkit-font-smoothing: antialiased;\n        background: #f3ede3;\n        color: #1a1a17;\n        min-height: 100vh;\n        display: flex;\n        flex-direction: column;\n      }\n      header { padding: 28px clamp(24px, 6vw, 56px); }\n      .wordmark {\n        display: inline-flex;\n        align-items: center;\n        gap: 10px;\n        font-weight: 800;\n        font-size: 19px;\n        letter-spacing: -0.02em;\n      }\n      .wordmark .dot {\n        width: 13px;\n        height: 13px;\n        border-radius: 3px;\n        background: #ff3300;\n        box-shadow: 0 0 0 4px rgba(255, 90, 30, 0.18);\n      }\n      main {\n        flex: 1;\n        display: flex;\n        flex-direction: column;\n        align-items: center;\n        justify-content: center;\n        text-align: center;\n        padding: 24px clamp(24px, 6vw, 56px) 72px;\n      }\n      .eyebrow {\n        display: inline-flex;\n        align-items: center;\n        gap: 8px;\n        font-size: 12.5px;\n        font-weight: 600;\n        letter-spacing: 0.05em;\n        text-transform: uppercase;\n        color: #a4441f;\n        background: rgba(255, 90, 30, 0.1);\n        border: 1px solid rgba(255, 90, 30, 0.22);\n        padding: 6px 14px;\n        border-radius: 999px;\n        margin-bottom: 26px;\n      }\n      .eyebrow .pulse {\n        width: 7px;\n        height: 7px;\n        border-radius: 50%;\n        background: #ff3300;\n      }\n      h1 {\n        font-size: clamp(34px, 6vw, 60px);\n        line-height: 1.05;\n        letter-spacing: -0.035em;\n        font-weight: 820;\n        max-width: 16ch;\n      }\n      h1 .accent { color: #ff3300; }\n      p {\n        margin-top: 20px;\n        font-size: clamp(15px, 1.8vw, 19px);\n        line-height: 1.55;\n        max-width: 46ch;\n        color: #54504a;\n      }\n      footer {\n        padding: 24px clamp(24px, 6vw, 56px);\n        text-align: center;\n        font-size: 13px;\n        color: #8c877f;\n      }\n    </style>\n  </head>\n  <body>\n    <header>\n      <span class=\"wordmark\"><span class=\"dot\"></span>Rivet</span>\n    </header>\n    <main>\n      <span class=\"eyebrow\"><span class=\"pulse\"></span>Empty project</span>\n      <h1>Your <span class=\"accent\">blank canvas</span></h1>\n      <p>Point and click to edit this page in Rivet, or ask Claude to build something here.</p>\n    </main>\n    <footer>Make it yours.</footer>\n  </body>\n</html>\n";
/**
 * Ensure an empty static workspace has an `index.html` for the visual editor to
 * render. Static mode serves `index.html` at the root, so a truly empty folder
 * opens to a blank / 404 page with nothing to point-and-click. Writing a
 * minimal starter makes "open rivet on an empty folder" self-contained instead
 * of depending on the agent improvising a file.
 *
 * No-op when:
 *  - an `index.html` already exists (HTML-only project — never clobber), or
 *  - the folder is a `.rivet` history workspace (opened for browsing past
 *    variants, not as a blank canvas).
 *
 * Returns true iff a starter was written. Best-effort: a write failure is
 * logged and swallowed so it can't block opening the editor.
 */
export declare function ensureStaticStarterCanvas(projectPath: string): boolean;
//# sourceMappingURL=staticStarter.d.ts.map