import { Ref } from 'vue'; export interface Dataset { [key: string]: string | Ref| boolean | Array | Array<Description>| Array<Person> | number | (IErrorMessage | undefined) | Coverage | TethysFile | File; language: Ref<string>; // licenses: Array<number>; rights: boolean; type: string; creating_corporation: string; titles: Array<Title>; descriptions: Array<Description>; authors: Array<Person>; contributors: Array<Person>; project_id?: number; embargo_date?: string, coverage: Coverage, errors?: IErrorMessage; // async (user): Promise<void>; subjects: Array<Subject>, file: File | undefined, upload: TethysFile } export interface TethysFile { label: string, sorting: number, } export interface Subject { // id: number; language: string type: string; value: string; external_key?: string; } export interface Title { value: string; type: string; language: string | Ref<string>; } export interface Description { value: string; type: string; language: string | Ref<string>; } export interface Person { id: number; name: string; email: string; name_type: string; identifier_orcid: string; datasetCount: string; created_at: string; } interface IErrorMessage { [key: string]: Array<string>; } export interface Coverage { x_min?: number; y_min?: number; x_max?: number; y_max?: number; elevation_min?: number; elevation_max?: number; elevation_absolut?: number; depth_min?: number; depth_max?: number; depth_absolut?: number; time_min?: number, time_max?: number, time_absolut?: number }