import type { CalendarAlias } from '../claim/parse_calendar.js' import type { SpecialSnak } from '../claim/special_snaktype.js' import type { GlobeCoordinateSnakDataValue, MonolingualTextSnakDataValue, StringSnakDataValue, TimeSnakDataValue, WikibaseEntityIdSnakDataValue } from 'wikibase-sdk' export type CustomEditableGlobeCoordinateSnakValue = Pick & Partial> export type EditableGlobeCoordinateSnakValue = [ number, number ] | CustomEditableGlobeCoordinateSnakValue export type EditableMonolingualTextSnakValue = MonolingualTextSnakDataValue['value'] export interface CustomQuantitySnakDataValue { amount: number | string unit?: string upperBound?: number | string lowerBound?: number | string } export type EditableQuantitySnakValue = number | CustomQuantitySnakDataValue export type EditableStringSnakValue = StringSnakDataValue['value'] export type CustomEditableTimeSnakValue = { time: string calendar?: CalendarAlias } & Partial> export type EditableTimeSnakValue = string | CustomEditableTimeSnakValue export type EditableWikibaseEntityIdSnakValue = WikibaseEntityIdSnakDataValue['value'] export type EditableSnakValue = EditableGlobeCoordinateSnakValue | EditableMonolingualTextSnakValue | EditableQuantitySnakValue | EditableStringSnakValue | EditableTimeSnakValue | EditableWikibaseEntityIdSnakValue | SpecialSnak