import { SiteAndPagesConfig } from '@upstart.gg/sdk/shared/site';
import { createDraftStore, createEditorStore, EditorStateProps } from '../hooks/use-editor';
export interface EditorWrapperRef {
    editorStore: ReturnType<typeof createEditorStore>;
    draftStore: ReturnType<typeof createDraftStore>;
}
export type EditorWrapperProps = {
    mode?: "anonymous" | "authenticated";
    pageVersion?: string;
    pageId?: string;
    config: SiteAndPagesConfig;
    /**
     * Callback when an image is uploaded through the editor.
     * The callback should return the URL of the uploaded image.
     */
    onImageUpload: (file: File) => Promise<string>;
    onReady?: () => void;
    /**
     * Callback when a tour is completed.
     */
    onTourComplete?: (tourId: string) => void;
    onShowPopup: EditorStateProps["onShowPopup"];
    onPublish: EditorStateProps["onPublish"];
    onSavePage?: EditorStateProps["onSavePage"];
    onSaveSite?: EditorStateProps["onSaveSite"];
};
/**
 * Wrap the Editor component with the EditorStore and DraftStore contexts.
 * If no children are provided, the default Page component will be rendered, but not within the Editor.
 */
export declare const EditorWrapper: import('react').ForwardRefExoticComponent<EditorWrapperProps & {
    children?: import('react').ReactNode | undefined;
} & import('react').RefAttributes<EditorWrapperRef>>;
