import { RedditAuthService } from "./reddit-auth-service.js"; import { RedditMessageParams, RedditMessageResponse } from "../../types/reddit.js"; import { RedditPost, RedditPostParams, RedditPostResponse, FetchPostsOptions, RedditCommentThread, RedditPostWithComments, RedditNotification, FetchNotificationsOptions, RedditComment } from "../../types/reddit.js"; import { RedditFetchService } from "./reddit-fetch-service.js"; export declare class RedditPostService extends RedditFetchService { constructor(baseUrl: string, authService: RedditAuthService, rateLimitDelay: number); fetchPosts(options?: FetchPostsOptions): Promise; private formatSubreddit; private getHotPosts; private getNewPosts; private getControversialPosts; createPost(params: RedditPostParams): Promise; fetchPostById(id: string): Promise; private processCommentTree; fetchNotifications(options?: FetchNotificationsOptions): Promise; deleteMessage(id: string): Promise; private markMessagesRead; /** * Fetches a single comment by its ID * @param id - The ID of the comment to fetch * @returns Promise */ fetchCommentById(id: string): Promise; /** * Fetches a comment thread (comment with all its replies) by the comment ID and post ID * @param id - The ID of the post containing the comment * @param id - The ID of the comment to fetch with its replies * @returns Promise */ fetchCommentThread(parentId: string, id: string): Promise; searchReddit(options: { query: string; subreddit?: string; sort?: "relevance" | "hot" | "new" | "top"; time?: "hour" | "day" | "week" | "month" | "year" | "all"; limit?: number; }): Promise; /** * Sends a reply to a post or comment * @param id - The ID of the parent post or comment to reply to * @param text - The content of the reply * @returns Promise - The API response */ sendReply(id: string, text: string): Promise; sendComment(id: string, text: string): Promise; sendMessage(params: RedditMessageParams): Promise; }