import { type ReactNode } from 'react';
import type { ApiClient } from '@riverbankcms/api/request';
import { type ContentTypeSchema } from '@riverbankcms/content-model';
export type PreviewBlock = {
    id: string | null;
    kind: string;
    purpose?: string | null;
    orderIndex?: number | null;
    content?: Record<string, unknown> | null;
    draftContent?: Record<string, unknown> | null;
    publishedContent?: Record<string, unknown> | null;
    bindings?: Record<string, unknown> | null;
};
export type PreviewPageMetadata = {
    draftTitle: string;
    draftPath: string;
    draftStatus: string;
    title: string;
    path: string;
    status: string;
    publishedAt: string | null;
    draftMetaTitle: string | null;
    draftMetaDescription: string | null;
    publishedMetaTitle: string | null;
    publishedMetaDescription: string | null;
    ogImageId: string | null;
};
export type PreviewContentEntryData = {
    id: string;
    type?: string | null;
    title?: string | null;
    slug?: string | null;
    status?: string | null;
    publishAt?: string | null;
    path?: string | null;
    draftPath?: string | null;
    metaTitle?: string | null;
    metaDescription?: string | null;
    draftMetaTitle?: string | null;
    draftMetaDescription?: string | null;
    ogImageId?: string | null;
    content?: Record<string, unknown> | null;
};
type PreviewEntryControllerProviderProps = {
    children: ReactNode;
    siteId: string;
    pageId: string | null;
    routeId: string | null;
    entryData?: PreviewContentEntryData | null;
    contentTypeSchema?: ContentTypeSchema | null;
    draftContent?: Record<string, unknown> | null;
    initialStatus?: 'draft' | 'scheduled' | 'published';
    initialBlocks?: PreviewBlock[];
    pageMetadata?: PreviewPageMetadata;
    apiClient: ApiClient;
};
export declare function PreviewEntryControllerProvider({ children, siteId, pageId, routeId: providedRouteId, entryData, contentTypeSchema, draftContent, initialStatus, initialBlocks, pageMetadata, apiClient, }: PreviewEntryControllerProviderProps): import("react/jsx-runtime").JSX.Element;
export {};
