import { $ as OverlayPluginExclusiveDefinition, Q as OverlayPluginDefinitionBase, X as OverlayPluginComponent, Z as OverlayPluginDefinition, _ as OverlayComponentResolverContext, b as OverlayElementParent, et as OverlayPluginHudDefinition, g as OverlayComponentResolver, h as OverlayComponentProps, m as OverlayComponent, s as ElementNode, y as OverlayElementField } from "../_chunks-dts/types.js"; import { DocumentSchema, SanityNode, SchemaArrayItem, SchemaArrayNode, SchemaBooleanNode, SchemaInlineNode, SchemaNode, SchemaNode as SchemaNode$1, SchemaNullNode, SchemaNumberNode, SchemaObjectField, SchemaObjectNode, SchemaStringNode, SchemaUnionNode, SchemaUnionNode as SchemaUnionNode$1, SchemaUnionNodeOptions, SchemaUnionOption, SchemaUnknownNode } from "@sanity/presentation-comlink"; import { ComponentProps, FunctionComponent, HTMLAttributes, HTMLProps, PropsWithChildren } from "react"; declare const PointerEvents: FunctionComponent>>; declare const UnionInsertMenuOverlay: OverlayComponent<{ direction?: 'horizontal' | 'vertical'; hoverAreaExtent?: HTMLProps['height' | 'width']; }, SchemaUnionNode$1>; declare function defineOverlayComponent, any>>(component: T, props?: Omit, keyof OverlayComponentProps>): { component: T; props: typeof props; }; declare function defineOverlayComponents(resolver: OverlayComponentResolver): typeof resolver; /** * @public * Helper type to check if an object has required keys */ type HasRequiredKeys = Record extends T ? false : true; /** * @public */ type OverlayPluginUserFnConfigOptions> = HasRequiredKeys extends true ? { options: O; } : { options?: O; }; /** * @public */ type OverlayPluginUserFnConfig> = { guard?: OverlayPluginDefinition['guard']; } & OverlayPluginUserFnConfigOptions; /** * @public */ type OverlayPluginUserFn> = HasRequiredKeys extends true ? (config: OverlayPluginUserFnConfig) => OverlayPluginDefinition : (config?: OverlayPluginUserFnConfig) => OverlayPluginDefinition; /** * @public */ type OverlayPluginDefineFn> = (options: O) => OverlayPluginDefinition; /** * @public * Define an overlay plugin with conditional options parameter. * Adds a guard that combines the user-provided guard with the plugin's guard. */ declare function defineOverlayPlugin = Record>(pluginDefinitionFn: OverlayPluginDefineFn): OverlayPluginUserFn; export { type DocumentSchema, type ElementNode, type HasRequiredKeys, type OverlayComponent, type OverlayComponentProps, type OverlayComponentResolver, type OverlayComponentResolverContext, type OverlayElementField, type OverlayElementParent, type OverlayPluginComponent, type OverlayPluginDefineFn, type OverlayPluginDefinition, type OverlayPluginDefinitionBase, type OverlayPluginExclusiveDefinition, type OverlayPluginHudDefinition, type OverlayPluginUserFn, type OverlayPluginUserFnConfig, type OverlayPluginUserFnConfigOptions, PointerEvents, type SanityNode, type SchemaArrayItem, type SchemaArrayNode, type SchemaBooleanNode, type SchemaInlineNode, type SchemaNode, type SchemaNullNode, type SchemaNumberNode, type SchemaObjectField, type SchemaObjectNode, type SchemaStringNode, type SchemaUnionNode, type SchemaUnionNodeOptions, type SchemaUnionOption, type SchemaUnknownNode, UnionInsertMenuOverlay, defineOverlayComponent, defineOverlayComponents, defineOverlayPlugin }; //# sourceMappingURL=index.d.ts.map