/** @jsx jsx */ /** @jsxFrag React.Fragment */ import React from 'react'; import { jsx } from '@emotion/react'; import type { Citation, ItemClassConfiguration, ItemEditViewProps, InternalItemReference } from '@riboseinc/paneron-registry-kit/types'; import ItemList from '../helpers/ItemList'; export { ItemList }; import ItemTable from '../helpers/ItemTable'; import { type ColumnInfo } from '../helpers/ItemTable'; export { ItemTable, type ColumnInfo }; export interface CommonGRItemData { name: string; identifier: number; remarks: string; informationSources: Readonly; informationSourceRefs: Readonly; aliases: Readonly; } export declare const DEFAULTS: Readonly; export declare function getInformationSourceStub(): Readonly; export declare const COMMON_PROPERTIES: Pick, 'itemSorter'>; export declare const EditView: React.FC & { hideRemarks?: boolean; hideAliases?: boolean; hideInfoSources?: boolean; showInfoSourceRefs?: boolean; }>; interface RelatedItemWidgetProps { /** Determines whether only item ID or full internal reference is set. */ mode: M; itemRef?: InternalItemReference; /** * Restrict the choice of related item classes. * `mode === 'id'` means only one class can be specified. */ classIDs: M extends 'generic' ? (undefined | string[]) : ([string] | []); onSet?: (spec: { $set: S; }) => void; onClear?: () => void; fill?: boolean; validity?: string; className?: string; } /** * A clumsy wrapper around GenericRelatedItemView * for handling generic and non-generic relations. */ export declare function RelatedItem({ itemRef, classIDs, onSet, onClear, mode, fill, validity, className, }: RelatedItemWidgetProps): jsx.JSX.Element; export declare const InformationSourceEdit: React.FC<{ citation: Citation; onChange?: (newCitation: Citation) => void; }>; export declare const ListItemView: ItemClassConfiguration["views"]["listItemView"]; export interface NumericValueWithUoM { value: number; /** UUID of respective UoM. */ unitOfMeasurement: string; } export interface StringValueWithUoM { value: string; /** UUID of respective UoM. */ unitOfMeasurement: string; } export declare type Accuracy = StringValueWithUoM; export declare const ACCURACY_STUB: Readonly; export declare const AccuracyEdit: React.FC<{ accuracy: Accuracy; onChange?: (newValue: Accuracy) => void; }>;