import type {SanityNode} from '@sanity/visual-editing-csm' /** @public */ export type SanityKey = | '_createdAt' | '_dataset' | '_id' | '_key' | '_originalId' | '_projectId' | '_ref' | '_rev' | '_strengthenOnPublish' | '_type' | '_updatedAt' | '_weak' /** @public */ export type SanityPrimitive = string | number | boolean | null /** @public */ export type SourceNode = Exclude> = { $$type$$: 'sanity' path: string | undefined source: SanityNode | undefined value: T } /** @public */ export type WrappedValue = T extends string ? SourceNode : T extends number ? SourceNode : T extends boolean ? SourceNode : T extends Array ? Array> : T extends {} ? {[P in keyof T]: P extends SanityKey ? T[P] : WrappedValue} : T extends string ? string : T extends null ? null : T extends undefined ? undefined : never /** @public */ export type UnwrappedValue> = W extends SourceNode ? string : W extends SourceNode ? number : W extends SourceNode ? boolean : W extends Array ? Array> : W extends {} ? { [P in keyof W]: P extends SanityKey ? W[P] : UnwrappedValue } : W extends string ? string : W extends null ? null : W extends undefined ? undefined : never /** @public */ export interface SanityNodeContext { baseUrl: string tool?: string workspace?: string }