import { a as LoadPageResult } from './loadPage-DP3nrHBi.js';
import { S as SiteResponse } from './types-BvcJU7zk.js';
import 'react/jsx-runtime';
import 'react';
import './schema-Z6-afHJG.js';
import 'zod';
import './core-DsNWrl3o.js';
import './types-CVykEqXN.js';
import '@riverbankcms/ai';
import './link-DjxLyC82.js';
import '@riverbankcms/media-storage-supabase';
import '@riverbankcms/db';
import './types-DuQCNVV0.js';
import './blockKinds-B6MWzNWp.js';

/**
 * Metadata generation helper for Next.js pages
 *
 * Generates SEO-optimized metadata from Builder page data for use in
 * Next.js generateMetadata() functions.
 */

/**
 * Next.js Metadata type
 * Simplified version to avoid requiring Next.js as a dependency
 */
type Metadata = {
    title?: string;
    description?: string;
    alternates?: {
        canonical?: string;
    };
    openGraph?: {
        title?: string;
        description?: string;
        url?: string;
        siteName?: string;
        type?: string;
        images?: Array<{
            url: string;
            alt?: string;
        }>;
    };
    twitter?: {
        card?: string;
        title?: string;
        description?: string;
        images?: string[];
    };
    robots?: {
        index?: boolean;
        follow?: boolean;
    };
    verification?: {
        google?: string;
    };
};
type PageMetadataInput = {
    /**
     * Page data from loadPage() or custom page object
     */
    page: LoadPageResult['page'] | {
        name: string;
        purpose?: string;
    };
    /**
     * Site data from client.getSite()
     */
    site: SiteResponse['site'];
    /**
     * Current URL path (e.g., '/about', '/blog/post-1')
     */
    path: string;
    /**
     * Full site URL for canonical and OG URLs
     * Example: 'https://example.com'
     */
    siteUrl: string;
    /**
     * Optional custom metadata overrides
     */
    overrides?: {
        title?: string;
        description?: string;
        ogImage?: string;
        canonicalUrl?: string;
        robots?: {
            index?: boolean;
            follow?: boolean;
        };
    };
    /**
     * Optional Google site verification token
     */
    googleSiteVerification?: string;
};
/**
 * Generate Next.js Metadata object from Builder page data
 *
 * @example
 * ```tsx
 * import { generatePageMetadata } from '@riverbankcms/sdk/metadata';
 * import { loadPage } from '@riverbankcms/sdk';
 *
 * export async function generateMetadata({ params }) {
 *   const pageData = await loadPage({ client, siteId, path: params.slug });
 *   const siteData = await client.getSite({ id: siteId });
 *
 *   return generatePageMetadata({
 *     page: pageData.page,
 *     site: siteData.site,
 *     path: params.slug,
 *     siteUrl: 'https://example.com',
 *   });
 * }
 * ```
 */
declare function generatePageMetadata(input: PageMetadataInput): Metadata;
/**
 * Generate metadata for preview/staging environments
 *
 * This helper adds noindex/nofollow robots tags to prevent search engines
 * from indexing preview or staging URLs.
 *
 * @example
 * ```tsx
 * export async function generateMetadata({ params }) {
 *   const pageData = await loadPage({ client, siteId, path: params.slug });
 *   const isPreview = process.env.VERCEL_ENV !== 'production';
 *
 *   return generatePreviewMetadata({
 *     page: pageData.page,
 *     site: siteData.site,
 *     path: params.slug,
 *     siteUrl: 'https://example.com',
 *   });
 * }
 * ```
 */
declare function generatePreviewMetadata(input: PageMetadataInput): Metadata;

export { type PageMetadataInput, generatePageMetadata, generatePreviewMetadata };
