/**************************************************************************** * Copyright 2021 EPAM Systems * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. ***************************************************************************/ import { Slice } from '@reduxjs/toolkit'; import { Group } from "../../components/monomerLibrary/monomerLibraryList/types"; import { IRnaPreset } from "../../components/monomerLibrary/RnaBuilder/types"; import { MonomerItemType, MonomerOrAmbiguousType, MonomerGroups, AmbiguousMonomerType, IKetMonomerGroupTemplate } from 'ketcher-core'; import { LibraryNameType } from "../../constants"; import { RootState } from "./.."; interface LibraryState { monomers: Group[]; defaultRnaPresets: IKetMonomerGroupTemplate[]; favorites: { [key: string]: Group; }; searchFilter: string; selectedTabIndex: number; } export declare type GroupedAmbiguousMonomerLibraryItemType = { groupTitle: string; groupItems: AmbiguousMonomerType[]; }; export declare function getMonomerUniqueKey(monomer: MonomerOrAmbiguousType): string; export declare function getPresetUniqueKey(preset: IRnaPreset): string; export declare const librarySlice: Slice; export declare const loadMonomerLibrary: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<`${string}/${string}`> | import("@reduxjs/toolkit").ActionCreatorWithPayload | import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload | import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload | import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload | import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload, loadDefaultPresets: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<`${string}/${string}`> | import("@reduxjs/toolkit").ActionCreatorWithPayload | import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload | import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload | import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload | import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload, setFavoriteMonomersFromLocalStorage: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<`${string}/${string}`> | import("@reduxjs/toolkit").ActionCreatorWithPayload | import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload | import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload | import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload | import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload, clearFavorites: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<`${string}/${string}`> | import("@reduxjs/toolkit").ActionCreatorWithPayload | import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload | import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload | import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload | import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload, toggleMonomerFavorites: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<`${string}/${string}`> | import("@reduxjs/toolkit").ActionCreatorWithPayload | import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload | import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload | import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload | import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload, setSearchFilter: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<`${string}/${string}`> | import("@reduxjs/toolkit").ActionCreatorWithPayload | import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload | import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload | import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload | import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload, setSelectedTabIndex: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<`${string}/${string}`> | import("@reduxjs/toolkit").ActionCreatorWithPayload | import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload | import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload | import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload | import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload; export declare const selectAxoLabsAliasesByPresetName: ((state: any) => Map) & { clearCache: () => void; resultsCount: () => number; resetResultsCount: () => void; } & { resultFunc: (resultFuncArgs_0: any) => Map; memoizedResultFunc: ((resultFuncArgs_0: any) => Map) & { clearCache: () => void; resultsCount: () => number; resetResultsCount: () => void; }; lastResult: () => Map; dependencies: [(state: RootState) => any]; recomputations: () => number; resetRecomputations: () => void; dependencyRecomputations: () => number; resetDependencyRecomputations: () => void; } & { memoize: typeof import("reselect").weakMapMemoize; argsMemoize: typeof import("reselect").weakMapMemoize; }; export declare const selectLibrarySlice: (state: RootState) => LibraryState; export declare const selectSearchFilter: (state: RootState) => string; export declare const selectMonomersInCategory: (items: MonomerOrAmbiguousType[], category: LibraryNameType) => MonomerItemType[]; export declare const selectAmbiguousMonomersInCategory: (libraryItems: MonomerOrAmbiguousType[], libraryGroupName: MonomerGroups) => GroupedAmbiguousMonomerLibraryItemType[]; export declare const selectUnsplitNucleotides: (items: MonomerOrAmbiguousType[]) => MonomerItemType[]; export declare const selectMonomersInFavorites: (items: MonomerOrAmbiguousType[]) => MonomerOrAmbiguousType[]; export declare const selectAmbiguousMonomersInFavorites: (items: MonomerOrAmbiguousType[]) => GroupedAmbiguousMonomerLibraryItemType[]; export declare const selectFilteredMonomers: ((state: any) => (MonomerOrAmbiguousType & { favorite: boolean; })[]) & { clearCache: () => void; resultsCount: () => number; resetResultsCount: () => void; } & { resultFunc: (resultFuncArgs_0: any) => (MonomerOrAmbiguousType & { favorite: boolean; })[]; memoizedResultFunc: ((resultFuncArgs_0: any) => (MonomerOrAmbiguousType & { favorite: boolean; })[]) & { clearCache: () => void; resultsCount: () => number; resetResultsCount: () => void; }; lastResult: () => (MonomerOrAmbiguousType & { favorite: boolean; })[]; dependencies: [(state: RootState) => any]; recomputations: () => number; resetRecomputations: () => void; dependencyRecomputations: () => number; resetDependencyRecomputations: () => void; } & { memoize: typeof import("reselect").weakMapMemoize; argsMemoize: typeof import("reselect").weakMapMemoize; }; export declare const selectMonomers: (state: RootState) => any; export declare const selectMonomerGroups: (monomers: MonomerItemType[]) => Group[]; export declare const selectCurrentTabIndex: (state: any) => any; export declare const libraryReducer: import("redux").Reducer; export declare const selectDefaultRnaPresets: (state: any) => any; export {};