import type { NmriumState as NMRiumState, Spectrum, WorkspacePreferences as NMRiumPreferences, } from '@zakodium/nmrium-core'; import type { Source } from 'file-collection'; import type { CorrelationData } from 'nmr-correlation'; type DeepPartial = { [P in keyof T]?: DeepPartial; }; interface NMRiumData { source?: Source; molecules?: NMRiumMolecules; spectra: Array>; correlations?: CorrelationData; } type NMRiumWorkspace = | 'exercise' | 'process1D' | 'default' | 'prediction' | 'embedded' | 'assignment' | 'simulation' | (string & {}); type NMRiumChangeCb = ( state: NMRiumState, source: 'data' | 'view' | 'settings', ) => void; type NMRiumMolecules = Array<{ molfile: string }>; /* eslint-disable unicorn/prefer-export-from */ export type { NMRiumChangeCb, NMRiumData, NMRiumMolecules, NMRiumPreferences, NMRiumState, NMRiumWorkspace, }; /* eslint-enable unicorn/prefer-export-from */