/**
 * Redirect checking for 404 handling
 *
 * Check if a path has a configured redirect rule before returning 404.
 */
import type { RiverbankClient } from '../client/types';
/**
 * Redirect rule data
 */
export type RedirectRule = {
    /**
     * Destination URL to redirect to
     */
    destination: string;
    /**
     * Whether this is a permanent redirect (301/308) or temporary (302/307)
     */
    permanent: boolean;
};
/**
 * Result of redirect checking
 */
export type RedirectResult = {
    hasRedirect: true;
    redirect: RedirectRule;
} | {
    hasRedirect: false;
    redirect: null;
};
/**
 * Parameters for checking redirects
 */
export type CheckRedirectParams = {
    /**
     * SDK client instance
     */
    client: RiverbankClient;
    /**
     * Site ID
     */
    siteId: string;
    /**
     * URL path to check (e.g., '/old-page')
     */
    path: string;
};
/**
 * Check if a path has a configured redirect rule
 *
 * Use this when a page is not found to check if there's a redirect
 * configured for the path before returning a 404.
 *
 * @example
 * ```tsx
 * import { checkRedirectForPath } from '@riverbankcms/sdk/routing';
 * import { notFound, redirect } from 'next/navigation';
 *
 * export default async function Page({ params }) {
 *   const page = await getPage(params.path);
 *
 *   if (!page) {
 *     // Check for redirect before 404
 *     const result = await checkRedirectForPath({
 *       client,
 *       siteId: 'your-site-id',
 *       path: params.path,
 *     });
 *
 *     if (result.hasRedirect) {
 *       redirect(result.redirect.destination);
 *     }
 *
 *     notFound();
 *   }
 *
 *   return <PageContent page={page} />;
 * }
 * ```
 */
export declare function checkRedirectForPath(params: CheckRedirectParams): Promise<RedirectResult>;
