/** * Copyright (c) 2018-2021 mol* contributors, licensed under MIT, See LICENSE file for more info. * * @author David Sehnal * @author Alexander Rose */ import { PluginContext } from '../../mol-plugin/context.js'; import { Loci } from '../../mol-model/loci.js'; import { Representation } from '../../mol-repr/representation.js'; export type LociLabel = string | any; export type LociLabelProvider = { label: (loci: Loci, repr?: Representation) => LociLabel | undefined; group?: (entry: LociLabel) => string; /** Labels from providers with higher priority are shown first */ priority?: number; }; export declare class LociLabelManager { ctx: PluginContext; providers: LociLabelProvider[]; clearProviders(): void; addProvider(provider: LociLabelProvider): void; removeProvider(provider: LociLabelProvider): void; private locis; private mark; private isDirty; private labels; private groupedLabels; private showLabels; private getLabels; constructor(ctx: PluginContext); }