import {createClient} from '@sanity/client'
import {CreateDataAttribute} from '@sanity/visual-editing/create-data-attribute'
import {createDataAttribute} from '@sanity/visual-editing/create-data-attribute'
import {CreateDataAttributeProps} from '@sanity/visual-editing/create-data-attribute'
import {defineQuery} from 'groq'
import {default as groq} from 'groq'
import {stegaClean} from '@sanity/client/stega'
import {unstable__adapter} from '@sanity/client'
import {unstable__environment} from '@sanity/client'
import {VisualEditingOptions} from '@sanity/visual-editing/react'

export {createClient}

export {CreateDataAttribute}

export {createDataAttribute}

export {CreateDataAttributeProps}

export {defineQuery}

export {groq}

export {stegaClean}

export {unstable__adapter}

export {unstable__environment}

export declare function VisualEditing(_props: VisualEditingProps): React.ReactNode

/**
 * @public
 */
export declare interface VisualEditingProps extends Omit<VisualEditingOptions, 'history'> {
  /**
   * @deprecated The histoy adapter is already implemented
   */
  history?: never
  /**
   * If next.config.ts is configured with a basePath we try to configure it automatically,
   * you can disable this by setting basePath to ''.
   * @example basePath="/my-custom-base-path"
   * @alpha experimental and may change without notice
   * @defaultValue process.env.__NEXT_ROUTER_BASEPATH || ''
   */
  basePath?: string
  /**
   * If next.config.ts is configured with a `trailingSlash` we try to detect it automatically,
   * it can be controlled manually by passing a boolean.
   * @example trailingSlash={true}
   * @alpha experimental and may change without notice
   * @defaultValue Boolean(process.env.__NEXT_TRAILING_SLASH)
   */
  trailingSlash?: boolean
}

export * from '@portabletext/react'
export * from '@sanity/client'
export * from '@sanity/next-loader'

export {}
