/**
 * Body of the free `generate_landing_page` MCP tool.
 *
 * Pure function of its arguments — no API key, no network, no credits — so it
 * is registered under the `docs` capability and works on both the local stdio
 * server and the hosted connector. The HTML comes from ./landing-page.ts, a
 * synced copy of shared-types/landing-page.ts: the page an agent generates here
 * is byte-for-byte what the cabinet Page generator downloads for the same form.
 *
 * This tool does not host the page (publish_landing_page does, on
 * page.extenshi.io). The returned `nextSteps` describe hosting it on any HTTPS
 * origin and registering the URL with `upsert_hosted_page`, which is what feeds
 * HOMEPAGE_URL in the generated integration config.
 */
import { type LandingForm } from './landing-page.js';
import { type LandingProblem } from './landing-sections.js';
export interface LandingPageArgs {
    extensionName: string;
    tagline?: string;
    description?: string;
    accentColor?: string;
    theme?: 'light' | 'dark';
    chromeUrl?: string;
    firefoxUrl?: string;
    edgeUrl?: string;
    privacyPolicyUrl?: string;
    supportUrl?: string;
    homepageUrl?: string;
    features?: {
        title: string;
        description?: string;
    }[];
    screenshots?: {
        url: string;
        alt?: string;
    }[];
    logoSvg?: string;
    logoUrl?: string;
    schemaVersion?: 2;
    sections?: Record<string, unknown>[];
    tokens?: Record<string, unknown>;
    seo?: Record<string, unknown>;
    defaultLocale?: string;
    locales?: Record<string, Record<string, unknown>>;
    ui?: Record<string, string>;
    uninstallUrl?: string;
    termsUrl?: string;
}
export interface GeneratedLandingPage {
    html: string;
    bytes: number;
    warnings: string[];
    /** Schema v2: every problem with its path and fix (errors mean a hosted publish would refuse it). */
    problems?: LandingProblem[];
    /** Schema v2 with locales: the other locales' pages and where to save them. */
    localePages?: {
        locale: string;
        path: string;
        html: string;
    }[];
    nextSteps: string[];
}
export declare function landingFormFromArgs(args: LandingPageArgs): LandingForm;
export declare function landingNextSteps(homepageUrl?: string): string[];
export declare function renderGenerateLandingPage(args: LandingPageArgs): GeneratedLandingPage;
/**
 * Follow-ups after publish_landing_page, from the fields the BFF returned.
 * "Live" is said only when the server fetched the public URL and got the
 * published bytes back (`live.status: verified`); a BFF without the check
 * (older deploy) is reported as unverified, never as live.
 */
export declare function hostedLandingNextSteps(result: Record<string, unknown>): string[];
//# sourceMappingURL=landing-workflow.d.ts.map