import { R as RiverbankClient, S as SiteResponse, e as PageResponse, L as ListPublishedEntriesResponse, f as PublishedContentEntryPreviewResponse } from './usePage-CyYpOJud.js';
export { U as UsePageParams, c as UsePageResult, u as usePage } from './usePage-CyYpOJud.js';
import '@riverbankcms/ai';
import 'zod';
import '@riverbankcms/media-storage-supabase';
import '@riverbankcms/db';
import 'react/jsx-runtime';
import 'react';
import './resolver-BhueZVxZ.js';

/**
 * Hook to fetch site data (Server Component compatible)
 *
 * @example Server Component
 * ```tsx
 * const site = use(client.getSite({ slug: 'my-site' }));
 * ```
 *
 * @example Client Component
 * ```tsx
 * 'use client';
 * const [site, setSite] = useState(null);
 * useEffect(() => {
 *   client.getSite({ slug: 'my-site' }).then(setSite);
 * }, []);
 * ```
 */
declare function useSite(client: RiverbankClient, params: {
    slug?: string;
    domain?: string;
    id?: string;
}): SiteResponse;
/**
 * Simple hook to fetch raw page data (Server Component compatible)
 *
 * For a more complete client-side hook with loading states and prefetched data,
 * use the usePage export from this module instead.
 *
 * @example
 * ```tsx
 * const page = use(client.getPage({ siteId: site.site.id, path: '/' }));
 * ```
 */
declare function usePageRaw(client: RiverbankClient, params: {
    siteId: string;
    path: string;
}): PageResponse;
/**
 * Hook to fetch content entries
 *
 * @example
 * ```tsx
 * const entries = use(client.getEntries({ siteId: site.site.id, contentType: 'blog' }));
 * ```
 */
declare function useEntries(client: RiverbankClient, params: {
    siteId: string;
    contentType: string;
}): ListPublishedEntriesResponse<Record<string, unknown>>;
/**
 * Hook to fetch a single content entry
 *
 * @example
 * ```tsx
 * const entry = use(client.getEntry({ siteId: site.site.id, contentType: 'blog', slug: 'my-post' }));
 * ```
 */
declare function useEntry(client: RiverbankClient, params: {
    siteId: string;
    contentType: string;
    slug: string;
}): PublishedContentEntryPreviewResponse;

export { useEntries, useEntry, usePageRaw, useSite };
