import type { FluidTopicsApi, FtMap, FtMapAttachment, FtPaginatedToc, FtPaginationConfiguration, FtPublicationRatingSummary, FtRatingSummary, FtRatingTypeKeys, FtReaderConfiguration, FtTocNode, FtTopic, FtTranslationContent, FtTranslationSettings } from "@fluid-topics/public-api"; import { FtRatingType, FtSearchResults } from "@fluid-topics/public-api"; import { FtPagesTocNode, FtReaderFeatureAccessData, FtReaderFeatures, FtReaderNavigationData, FtReaderPage, FtReaderTocNode, FtTopicRatingSummary } from "../model"; import { FtReaderConverter } from "./FtReaderConverter"; import { FtServiceWithCache } from "@fluid-topics/ft-app-context"; import { FtReaderBreadcrumb } from "../../models"; export declare abstract class FtReaderService extends FtServiceWithCache { protected converter: FtReaderConverter; protected abstract fetchMap(mapId: string, translationSettings?: FtTranslationSettings): Promise; protected abstract fetchPages(mapId: string, translationSettings?: FtTranslationSettings): Promise; protected abstract fetchMapRating(mapId: string): Promise; protected abstract fetchTopicMetadata(tocNode: FtTocNode): Promise; protected abstract fetchTopicHTMLContent(tocNode: FtTocNode): Promise; protected abstract fetchTranslatedTopicHTMLContent(tocNode: FtTocNode, translationSettings: FtTranslationSettings): Promise; protected abstract fetchAttachments(): Promise>; protected abstract fetchRelativesForDocument(metadataPivotKey: string, metadataPivotValues: string[]): Promise; protected abstract fetchRelativesForTopicInMap(mapId: string, metadataPivotKey: string, metadataPivotValues: string[]): Promise; protected abstract makeRateMapRequest(type: FtRatingType | FtRatingTypeKeys, value: number): Promise; protected abstract makeUnrateMapRequest(): Promise; protected abstract makeMapFeedbackRequest(message: string, from?: string): Promise; protected abstract makeRateTopicRequest(tocId: string, type: FtRatingType | FtRatingTypeKeys, value: number): Promise; protected abstract makeUnrateTopicRequest(tocId: string): Promise; protected abstract makeTopicFeedbackRequest(tocId: string, message: string, from?: string): Promise; protected abstract getReaderLinkPrefix(): string; protected abstract isFeatureAvailable(feature: FtReaderFeatures): boolean; private _mapId; get mapId(): string; set mapId(value: string | undefined); constructor(converter: FtReaderConverter, overrideApi?: FluidTopicsApi, mapId?: string); private withMapId; private initCache; clear(): void; private makeCacheKey; getMap(translationSettings?: FtTranslationSettings): Promise; getMapNow(translationSettings?: FtTranslationSettings): FtMap | undefined; getConfiguration(): Promise; clearConfiguration(): void; private getEnrichedToc; private getEnrichedTocNow; getPaginationConfiguration(): Promise; getToc(translationSettings?: FtTranslationSettings): Promise>; getPagesToc(translationSettings?: FtTranslationSettings): Promise>; getTranslationError(translationSettings?: FtTranslationSettings): Promise; getTocNode(tocId: string, translationSettings?: FtTranslationSettings): Promise; getTocNodeNow(tocId: string, translationInput?: FtTranslationSettings): FtReaderTocNode | undefined; getTocNodeNowByUrl(prettyUrlOrMapIdTocId: string, translationInput?: FtTranslationSettings): FtReaderTocNode | undefined; getPage(number: number, translationInput?: FtTranslationSettings): Promise; getPageByTocId(tocId: string, translationInput?: FtTranslationSettings): Promise; getTopicInfo(tocNode: FtTocNode): Promise; getTopicContent(tocNode: FtTocNode): Promise; getTranslatedTopicContent(tocNode: FtTocNode, translationInput: FtTranslationSettings): Promise; getAttachments(): Promise>; clearMapAttachments(): void; getRelativesForDocument(metadataPivotKey: string, metadataPivotValues: string[]): Promise; getRelativesForTopicInMap(mapId: string, metadataPivotKey: string, metadataPivotValues: string[]): Promise; getAttachmentDownloadLink(id: string): string; getLink(tocId?: string, pageNumber?: number, section?: string): string; getNavigationData(tocId?: string, pageNumber?: number, section?: string, translationInput?: FtTranslationSettings): FtReaderNavigationData; getAccurateNavigationData(tocId?: string, pageNumber?: number, section?: string, translationInput?: FtTranslationSettings): Promise; private getRatingSummary; reloadRating(): Promise; getMapRating(): Promise; getTopicRating(tocId: string): Promise; rateMap(type: FtRatingType | FtRatingTypeKeys, value: number): Promise; unrateMap(): Promise; sendMapFeedback(message: string, from?: string): Promise; rateTopic(tocId: string, type: FtRatingType | FtRatingTypeKeys, value: number): Promise; unrateTopic(tocId: string): Promise; private clearRatingIfNecessary; sendTopicFeedback(tocId: string, message: string, from?: string): Promise; fontsStylesheet(): string; themeStylesheet(): string; buildBreadcrumb(tocId: string, translationInput?: FtTranslationSettings): Array; isFeatureAccessible(feature: FtReaderFeatures, { session }: FtReaderFeatureAccessData): boolean; makeAbsolute(endpoint: string): string; }