/**
 * Static params generation for Next.js SSG
 *
 * Provides helpers for generating static params from published CMS routes.
 *
 * @example
 * ```tsx
 * // app/[[...slug]]/page.tsx
 * import { generateAllStaticParams } from '@riverbankcms/sdk/next';
 *
 * export { generateAllStaticParams as generateStaticParams };
 * ```
 */
/**
 * Environment variable validation result
 */
export type StaticParamsEnvResult = {
    valid: true;
    config: {
        apiKey: string;
        siteId: string;
        baseUrl: string;
    };
} | {
    valid: false;
    missingVars: string[];
};
/**
 * Validate that all required environment variables are set.
 *
 * Required env vars:
 * - RIVERBANK_API_KEY: API key for published content
 * - RIVERBANK_SITE_ID: Site ID
 * - NEXT_PUBLIC_DASHBOARD_URL: Dashboard API URL
 *
 * @returns Validation result with config or missing vars
 */
export declare function validateStaticParamsEnv(): StaticParamsEnvResult;
/**
 * Convert a route path to a Next.js slug array.
 *
 * @param path - The route path (e.g., '/about', '/blog/post')
 * @returns The slug array for Next.js catch-all route
 *
 * @example
 * ```ts
 * pathToSlugArray('/')           // []
 * pathToSlugArray('/about')      // ['about']
 * pathToSlugArray('/blog/post')  // ['blog', 'post']
 * ```
 */
export declare function pathToSlugArray(path: string): string[];
/**
 * Generate static params for all published routes.
 *
 * This function fetches all published routes from the CMS and converts them
 * to the static params format expected by Next.js catch-all routes.
 *
 * Requires environment variables:
 * - RIVERBANK_API_KEY: API key for published content
 * - RIVERBANK_SITE_ID: Site ID
 * - NEXT_PUBLIC_DASHBOARD_URL: Dashboard API URL
 *
 * @throws Error if required env vars are missing (prevents silent empty SSG in CI)
 * @returns Array of static params objects for Next.js
 *
 * @example
 * ```tsx
 * // app/[[...slug]]/page.tsx
 * import { generateAllStaticParams } from '@riverbankcms/sdk/next';
 *
 * export { generateAllStaticParams as generateStaticParams };
 *
 * // Or with custom logic:
 * export async function generateStaticParams() {
 *   const params = await generateAllStaticParams();
 *   // Filter or modify params as needed
 *   return params.filter(p => !p.slug.includes('private'));
 * }
 * ```
 */
export declare function generateAllStaticParams(): Promise<{
    slug: string[];
}[]>;
