/** * Copyright (c) 2020-2023 mol* contributors, licensed under MIT, See LICENSE file for more info. * * @author Sebastian Bittrich */ import { StringBuilder } from '../../mol-util/index.js'; import { Writer } from './writer.js'; import { Encoder, Category } from './cif/encoder.js'; import { ComponentAtom } from '../../mol-model-formats/structure/property/atoms/chem_comp.js'; import { ComponentBond } from '../../mol-model-formats/structure/property/bonds/chem_comp.js'; import { ElementSymbol } from '../../mol-model/structure/model/types.js'; interface Atom { Cartn_x: number; Cartn_y: number; Cartn_z: number; type_symbol: ElementSymbol; index: number; } declare function Atom(partial: any): Atom; export declare abstract class LigandEncoder implements Encoder { readonly encoder: string; readonly metaInformation: boolean; readonly hydrogens: boolean; protected builder: StringBuilder; protected meta: StringBuilder; protected componentAtomData: ComponentAtom; protected componentBondData: ComponentBond; protected error: boolean; protected encoded: boolean; readonly isBinary = false; binaryEncodingProvider: undefined; abstract encode(): void; protected abstract _writeCategory(category: Category, context?: Ctx): void; protected abstract writeFullCategory(sb: StringBuilder, category: Category, context?: Ctx): void; writeCategory(category: Category, context?: Ctx): void; setComponentAtomData(componentAtomData: ComponentAtom): void; setComponentBondData(componentBondData: ComponentBond): void; writeTo(stream: Writer): void; getSize(): number; getData(): string; protected getAtoms(instance: Category.Instance, source: any, ccdAtoms: ComponentAtom.Entry['map']): Map; private _getAtoms; protected skipHydrogen(type_symbol: ElementSymbol): boolean; protected isHydrogen(type_symbol: ElementSymbol): boolean; private getSortedFields; private getField; protected getName(instance: Category.Instance, source: any): string; startDataBlock(): void; setFilter(): void; setFormatter(): void; isCategoryIncluded(): boolean; constructor(encoder: string, metaInformation: boolean, hydrogens: boolean); } export {};