import type { GetPageParam, ModQueuePageIpfs, ModQueuePageTypeJson, PageIpfs, PageTypeJson, PostSortName, ReplySortName } from "./types.js"; import { BasePagesClientsManager, CommunityPostsPagesClientsManager, RepliesPagesClientsManager } from "./pages-client-manager.js"; import { Comment } from "../publications/comment/comment.js"; import { RemoteCommunity } from "../community/remote-community.js"; import { PKC } from "../pkc/pkc.js"; import type { PageRuntimeFields } from "./util.js"; type BaseProps = { community: Pick & { _getStopAbortSignal?: () => AbortSignal | undefined; ipnsPubsubTopic?: RemoteCommunity["ipnsPubsubTopic"]; }; pkc: PKC; }; type PostsProps = Pick & BaseProps & { community: RemoteCommunity; }; type RepliesProps = Pick & BaseProps & { parentComment: Comment; }; type ModQueueProps = Pick & BaseProps & { community: RemoteCommunity; }; export declare class BasePages { pages: PostsPages["pages"] | RepliesPages["pages"] | ModQueuePages["pages"]; pageCids: PostsPages["pageCids"] | RepliesPages["pageCids"] | ModQueuePages["pageCids"]; clients: BasePagesClientsManager["clients"]; _clientsManager: BasePagesClientsManager; _parentComment: Comment | undefined; _community: BaseProps["community"]; constructor(props: PostsProps | RepliesProps | ModQueueProps); updateProps(props: Omit): void; _applyNameResolvedCacheToPage(page: PageTypeJson | ModQueuePageTypeJson): void; protected _initClientsManager(pkc: PKC): void; resetPages(): void; _validatePage(pageIpfs: PageIpfs | ModQueuePageIpfs, pageCid?: string): Promise; _fetchAndVerifyPage(opts: { pageCid: string; pageMaxSize?: number; abortSignal?: AbortSignal; }): Promise<{ page: PageIpfs | ModQueuePageIpfs; runtimeFields?: PageRuntimeFields; }>; _parseRawPageIpfs(pageIpfs: PageIpfs | ModQueuePageIpfs): ModQueuePageTypeJson | PageTypeJson; getPage(args: GetPageParam): Promise; validatePage(page: PageIpfs | PageTypeJson): Promise; _stop(): void; } export declare class RepliesPages extends BasePages { pages: Partial>; pageCids: Record; clients: RepliesPagesClientsManager["clients"]; _clientsManager: RepliesPagesClientsManager; _parentComment: Comment; constructor(props: RepliesProps); updateProps(props: Omit): void; protected _initClientsManager(pkc: PKC): void; _fetchAndVerifyPage(opts: { pageCid: string; pageMaxSize?: number; abortSignal?: AbortSignal; }): Promise<{ page: PageIpfs; runtimeFields?: PageRuntimeFields; }>; _parseRawPageIpfs(pageIpfs: PageIpfs): PageTypeJson; getPage(args: GetPageParam): Promise; _validatePage(pageIpfs: PageIpfs, pageCid?: string): Promise; } export declare class PostsPages extends BasePages { pages: Partial>; pageCids: Record; clients: CommunityPostsPagesClientsManager["clients"]; _clientsManager: CommunityPostsPagesClientsManager; _parentComment: undefined; _community: RemoteCommunity; constructor(props: PostsProps); updateProps(props: Omit): void; protected _initClientsManager(pkc: PKC): void; _fetchAndVerifyPage(opts: { pageCid: string; pageMaxSize?: number; abortSignal?: AbortSignal; }): Promise<{ page: PageIpfs; runtimeFields?: PageRuntimeFields; }>; _parseRawPageIpfs(pageIpfs: PageIpfs): PageTypeJson; getPage(getPageArgs: GetPageParam): Promise; _validatePage(pageIpfs: PageIpfs, pageCid?: string): Promise; } type ModQueuePageCids = Record; export declare class ModQueuePages extends BasePages { pages: Partial>; pageCids: ModQueuePageCids; _parentComment: undefined; constructor(props: ModQueueProps); resetPages(): void; protected _initClientsManager(pkc: PKC): void; _fetchAndVerifyPage(opts: { pageCid: string; pageMaxSize?: number; abortSignal?: AbortSignal; }): Promise<{ page: ModQueuePageIpfs; runtimeFields?: PageRuntimeFields; }>; _parseRawPageIpfs(pageIpfs: ModQueuePageIpfs): ModQueuePageTypeJson; getPage(getPageArgs: GetPageParam): Promise; _validatePage(pageIpfs: ModQueuePageIpfs, pageCid?: string): Promise; } export {};