import { FtMap, FtPaginationConfiguration, FtPublicationRatingSummary, FtRatingType, FtRatingTypeKeys, FtReaderConfiguration, FtSearchResultClusterEntry, FtSession, FtTocNode, FtTopic, FtTopicRating, FtTranslationLocale } from "@fluid-topics/public-api"; import { Optional } from "@fluid-topics/ft-wc-utils"; export declare enum FtReaderStoreEvents { clusteringHelperCreated = "clustering-helper-created", mapAttachmentsUpdate = "map-attachments-update", visibleTopicChange = "visible-topic-change" } export interface FtPagesTocNode { depth: number; tocId: string; title: string; translatedTitle?: string; children: Array; } export interface FtReaderTocNode extends FtTocNode { depth: number; parentTocId?: string; children: Array; } export interface FtReaderPage { number: number; title: string; untranslatedTitle?: string; rootTocId: string; toc: Array; topics: Array; hiddenTopics: Array; breadcrumb: string[]; } export interface FtReaderTopic extends FtTopic { htmlContent?: string; } export type FtReaderScrollTarget = { tocId?: string; section?: string; }; export interface FtReaderState { mapId: string | undefined; map: Optional; toc: Optional>; pagesToc: Optional>; paginationConfiguration: Optional; currentPage: Optional; scrollTarget: Optional; renderedTopics: string[]; visibleTopics: string[]; configuration: Optional; searchInDocumentQuery: Optional; relatives: Optional>; mapRating: Optional; topicsRating: { [id: string]: FtTopicRatingSummary; }; translation: { sourceLanguage: Optional; destinationLanguage: Optional; profileId: Optional; isLoading: boolean; isError: boolean; }; linkPreviewDialogId: Optional; } export interface FtReaderNavigationData { mapId: string; tocId: string; topicTitle: string; untranslatedTopicTitle?: string; section?: string; page?: number; prettyUrl?: string; prettyUrlDuplicated: boolean; } export interface FtTopicRatingSummary { rating?: FtTopicRating; type: FtRatingType | FtRatingTypeKeys; } export declare enum FtReaderFeatures { FEEDBACK = "FEEDBACK", RATING = "RATING", PRINT = "PRINT", BOOKMARK = "BOOKMARK", COLLECTIONS = "COLLECTIONS", PERSONAL_BOOKS = "PERSONAL_BOOKS" } export interface FtReaderFeatureAccessData { session?: FtSession; }