import type { CategorySampleTyped } from './CategoryType'; import type { CategoryTypeIdentifier } from './CategoryTypeIdentifier'; import type { QuantitySampleTyped } from './QuantitySample'; import type { QuantityTypeIdentifier } from './QuantityTypeIdentifier'; import type { SampleTypeIdentifier } from './Shared'; export interface EmitterSubscription { remove: () => void; } export interface OnChangeCallbackArgs { readonly typeIdentifier: SampleTypeIdentifier; readonly errorMessage?: string; } export interface OnQuantitySamplesCallbackError { readonly typeIdentifier: T; readonly errorMessage: string; } export interface OnQuantitySamplesCallbackSuccess { readonly typeIdentifier: T; readonly samples: readonly QuantitySampleTyped[]; } export type OnQuantitySamplesCallback = OnQuantitySamplesCallbackError | OnQuantitySamplesCallbackSuccess; export interface OnCategorySamplesCallbackError { readonly typeIdentifier: T; readonly errorMessage: string; } export interface OnCategorySamplesCallbackSuccess { readonly typeIdentifier: T; readonly samples: readonly CategorySampleTyped[]; } export type OnCategorySamplesCallback = OnCategorySamplesCallbackError | OnCategorySamplesCallbackSuccess;