/** * Copyright (c) 2019-2023 mol* contributors, licensed under MIT, See LICENSE file for more info. * * @author Alexander Rose */ import { Loci } from '../mol-model/loci.js'; import { Color } from '../mol-util/color/index.js'; import { Structure, StructureElement } from '../mol-model/structure.js'; import { Script } from '../mol-script/script.js'; export { Overpaint }; type Overpaint = { readonly kind: T['kind']; readonly layers: ReadonlyArray>; }; declare function Overpaint(kind: T['kind'], layers: ReadonlyArray>): Overpaint; declare namespace Overpaint { type Layer = { readonly loci: T; readonly color: Color; readonly clear: boolean; }; const Empty: Overpaint; function areEqual(oA: Overpaint, oB: Overpaint): boolean; function isEmpty(overpaint: Overpaint): boolean; function remap(overpaint: Overpaint, structure: Structure): Overpaint; function merge(overpaint: Overpaint): Overpaint; function filter(overpaint: Overpaint, filter: Structure): Overpaint; type ScriptLayer = { script: Script; color: Color; clear: boolean; }; function ofScript(scriptLayers: ScriptLayer[], structure: Structure): Overpaint; type BundleLayer = { bundle: StructureElement.Bundle; color: Color; clear: boolean; }; function ofBundle(bundleLayers: BundleLayer[], structure: Structure): Overpaint; function toBundle(overpaint: Overpaint): { kind: string; layers: BundleLayer[]; }; }