import { AmbiguousMonomer, BaseMonomer, Peptide, Phosphate, RNABase, Sugar, UnsplitNucleotide } from "../entities"; import { AttachmentPointName, MonomerItemType, MonomerOrAmbiguousType, AmbiguousMonomerType } from "../types"; import { PolymerBond } from "../entities/PolymerBond"; import { IVariantMonomer } from "../entities/types"; import { KetMonomerTemplateAtom } from "../../application/formatters"; import { IRnaPreset } from "../../application/editor"; export declare function getMonomerUniqueKey(monomer: MonomerItemType): string; export declare function checkIsR2R1Connection(monomer: BaseMonomer, nextMonomer: BaseMonomer): boolean; export declare function isR2R1ConnectionFromRnaBase(polymerBond: PolymerBond): boolean; export declare function isMonomerConnectedToR2RnaBase(monomer?: BaseMonomer): boolean | undefined; export declare function getPreviousMonomerInChain(monomer: BaseMonomer): BaseMonomer | undefined; export declare function getNextMonomerInChain(monomer?: BaseMonomer, firstMonomer?: BaseMonomer | null): BaseMonomer | undefined; export declare function getRnaBaseFromSugar(monomer?: BaseMonomer): RNABase | AmbiguousMonomer | undefined; export declare function getSugarFromRnaBase(monomer?: BaseMonomer): Sugar | undefined; export declare function isBondBetweenSugarAndBaseOfRna(polymerBond: PolymerBond): boolean; export declare function getPhosphateFromSugar(monomer?: BaseMonomer): Phosphate | undefined; export declare function isMonomerBeginningOfChain(monomer: BaseMonomer, MonomerTypes: Array): boolean | undefined; export declare function isValidNucleotide(sugar: Sugar, firstMonomerInCyclicChain?: BaseMonomer): boolean; export declare function isValidNucleoside(sugar: Sugar, firstMonomerInCyclicChain?: BaseMonomer): boolean; export declare const isRnaBaseVariantMonomer: (monomer: BaseMonomer & IVariantMonomer) => boolean; export declare function isAmbiguousMonomerLibraryItem(monomer?: MonomerOrAmbiguousType): monomer is AmbiguousMonomerType; export declare const isLibraryItemRnaPreset: (item: IRnaPreset | MonomerOrAmbiguousType) => item is IRnaPreset; export declare const libraryItemHasR1AttachmentPoint: (libraryItem: MonomerOrAmbiguousType | IRnaPreset, attachmentPointName?: AttachmentPointName) => string | boolean | undefined; export declare function isPeptideOrAmbiguousPeptide(monomer?: BaseMonomer): monomer is Peptide | AmbiguousMonomer; export declare function isRnaBaseOrAmbiguousRnaBase(monomer?: BaseMonomer): monomer is RNABase | AmbiguousMonomer; export declare function isRnaBaseApplicableForAntisense(monomer?: BaseMonomer): boolean; export declare function getAllConnectedMonomersRecursively(monomer: BaseMonomer): BaseMonomer[]; export declare const canModifyAminoAcid: (monomer: BaseMonomer, modificationMonomerLibraryItem: MonomerItemType) => string | true | undefined; export declare const getAminoAcidsToModify: (monomers: BaseMonomer[], modificationType: string, monomersLibrary: MonomerItemType[]) => Map; export declare const isHelmCompatible: (monomers: BaseMonomer[], monomersLibrary: MonomerItemType[]) => boolean; export declare const normalizeMonomerAtomsPositions: (atoms: KetMonomerTemplateAtom[]) => { location: [number, number, number]; label: string; }[];