import { TrackManagerInterface } from "../../../../RcsbFvWeb/RcsbFvFactories/RcsbFvBlockFactory/BlockManager/TrackManagerInterface"; import { RcsbChartInterface } from "../../../../RcsbSeacrh/FacetTools"; export interface ResidueDistributionInterface { attribute: string; title: string; buckets: ResidueBucket[]; } export interface ResidueBucket { label: string; id: string; color: string; residueSet: Set; } export interface TrackBlockFactoryInterface { getTrackBlocks(tracks: TrackManagerInterface[]): ({ tracks: TrackManagerInterface[]; } & S)[]; } export interface ResidueDistributionFactoryInterface { getDistribution(tracks: TrackManagerInterface[], ...args: T): ResidueDistributionInterface | undefined; } export interface DistributionChartFactoryInterface { getChart(residueDistribution: ResidueDistributionInterface): RcsbChartInterface; }