export declare function fetchComments(options?: { status?: Commentable['status'] commentables_id?: number commentables_type?: string limit?: number offset?: number }): Promise; export declare function fetchCommentById(id: number): Promise; export declare function fetchCommentsByCommentables(commentables_id: number, commentables_type: string, options?: { status?: Commentable['status'], limit?: number, offset?: number }): Promise; /** * Fetch comment counts for different time periods * * @param days The number of days to look back (e.g., 7, 14, 30, 60, 90) * @returns The count of comments within the specified time period */ export declare function fetchCommentCountByPeriod(days: number): Promise; export declare function fetchCommentsByStatus(status: CommentStatus, options?: { limit?: number, offset?: number }): Promise; export declare function calculateApprovalRate(): Promise<{ approved: number, total: number, rate: number }>; export declare function fetchPostsWithMostComments(dateRange: DateRange, options?: { limit?: number }): Promise; export declare function fetchCommentCountBarGraph(dateRange: DateRange, options?: { limit?: number }): Promise; export declare function fetchStatusDistributionDonut(dateRange: DateRange): Promise; export declare function fetchMonthlyCommentCounts(dateRange: DateRange): Promise; export declare interface Commentable { id?: number title: string body: string status: string approved_at: number | null rejected_at: number | null commentables_id: number commentables_type: string reports_count?: number reported_at?: number | null upvotes_count?: number downvotes_count?: number user_id: number | null created_at?: string updated_at?: string | null } export declare interface PostWithCommentCount { id: number title: string comment_count: number } export declare interface DateRange { startDate: Date endDate: Date } export declare interface BarGraphData { labels: string[] values: number[] } export declare interface DonutGraphData { labels: string[] values: number[] percentages: number[] } export declare interface LineGraphData { labels: string[] values: number[] } export type CommentStatus = 'approved' | 'pending' | 'spam';