import {JSX} from 'react'
import {MemoExoticComponent} from 'react'
import {NextStudio} from 'next-sanity/studio/client-component'
import {NextStudioProps} from 'next-sanity/studio/client-component'

/**
 * In router segments (`/app/studio/[[...index]]/page.tsx`):
 * ```tsx
 * // If you don't want to change any defaults you can just re-export the metadata directly:
 * export {metadata} from 'next-sanity/studio'
 *
 * // To customize the metadata, spread it on the export:
 * import {metadata as studioMetadata} from 'next-sanity/studio'
 * import type { Metadata } from 'next'
 *
 * export const metadata: Metadata = {
 *   ...studioMetadata,
 *   // Set another title
 *   title: 'My Studio',
 * })
 * ```
 * @public
 */
export declare const metadata: {
  referrer: 'same-origin'
  robots: 'noindex'
}

export {NextStudio}

/** @public */
export declare const NextStudioLayout: MemoExoticComponent<
  ({children}: NextStudioLayoutProps) => JSX.Element
>

/** @public */
export declare interface NextStudioLayoutProps {
  children: React.ReactNode
}

/** @internal */
export declare const NextStudioNoScript: () => React.JSX.Element

export {NextStudioProps}

/**
 * In router segments (`/app/studio/[[...index]]/page.tsx`):
 * ```tsx
 * // If you don't want to change any defaults you can just re-export the viewport config directly:
 * export {viewport} from 'next-sanity/studio'
 *
 * // To customize the viewport config, spread it on the export:
 * import {viewport as studioViewport} from 'next-sanity/studio'
 * import type { Viewport } from 'next'
 *
 * export const viewport: Viewport = {
 *   ...studioViewport,
 *   // Overrides the viewport to resize behavior
 *   interactiveWidget: 'resizes-content'
 * })
 * ```
 * @public
 */
export declare const viewport: {
  width: 'device-width'
  initialScale: 1
  viewportFit: 'cover'
}

export {}
