import type { AttributeValues, Entity, ArrayShape, Dataset, ScalarShape, ProvidedEntity, } from '@h5web/shared'; import type { FetchStore } from 'react-suspense-fetch'; import type { ImageAttribute } from '../vis-packs/core/models'; import type { NxAttribute } from '../vis-packs/nexus/models'; export type EntitiesStore = FetchStore; export interface ValuesStore extends FetchStore { cancelOngoing: () => void; evictCancelled: () => void; } export interface ValuesStoreParams { dataset: Dataset; selection?: string | undefined; } export interface AttrValuesStore extends FetchStore { getSingle: ( entity: Entity, attrName: NxAttribute | ImageAttribute ) => unknown; } export type ExportFormat = 'csv' | 'npy' | 'tiff'; export type ExportURL = URL | (() => Promise) | undefined; export type ProgressCallback = (prog: number[]) => void;