@e280/quay
Version:
File-browser and outliner UI for the web
17 lines (16 loc) • 661 B
TypeScript
import { Taxonomy } from "./taxonomy.js";
import { Id, Kind, Schema } from "./types.js";
/** Tracks what kind and specimen data is associated with each item id. */
export declare class Clade<Sc extends Schema> {
#private;
taxonomy: Taxonomy<Sc>;
onChange: import("@e280/stz").Sub<[]>;
constructor(taxonomy: Taxonomy<Sc>);
getSpecimen<K extends Kind<Sc> = Kind<Sc>>(id: string): [K, Sc["specimens"][K]];
setSpecimen<K extends Kind<Sc>>(id: string, kind: K, specimen: Sc["specimens"][K]): void;
query<K extends Kind<Sc> = Kind<Sc>>(id: Id): {
kind: K;
taxon: Sc["taxon"];
specimen: Sc["specimens"][K];
};
}