import type { Transport, PageResult } from '@23blocks/contracts'; import type { ModerationResult, ModerateContentRequest, ContentFlag, CreateContentFlagRequest, ListContentFlagsParams } from '../types/moderation.js'; /** * Moderation Service Interface - Content moderation operations */ export interface ModerationService { /** * Moderate a post * @param postUniqueId - Unique ID of the post to moderate * @param request - Moderation action and reason * @returns ModerationResult with success status, action taken, and timestamp */ moderatePost(postUniqueId: string, request: ModerateContentRequest): Promise; /** * Moderate a comment * @param postUniqueId - Unique ID of the parent post * @param commentUniqueId - Unique ID of the comment to moderate * @param request - Moderation action and reason * @returns ModerationResult with success status, action taken, and timestamp * @note Uses HTTP DELETE internally despite accepting a request body */ moderateComment(postUniqueId: string, commentUniqueId: string, request: ModerateContentRequest): Promise; /** * List content flags * @param params - Optional filtering and pagination parameters * @returns Paginated list of ContentFlag records with pagination metadata */ listFlags(params?: ListContentFlagsParams): Promise>; /** * Get a specific flag * @param flagUniqueId - Unique ID of the flag to retrieve * @returns The matching ContentFlag record */ getFlag(flagUniqueId: string): Promise; /** * Create a content flag (report content) * @param request - Flag details including content type, content ID, reason, and category * @returns The newly created ContentFlag record */ createFlag(request: CreateContentFlagRequest): Promise; /** * Resolve a content flag * @param flagUniqueId - Unique ID of the flag to resolve * @param resolution - Resolution description * @returns The updated ContentFlag record with resolution applied */ resolveFlag(flagUniqueId: string, resolution: string): Promise; /** * Dismiss a content flag * @param flagUniqueId - Unique ID of the flag to dismiss * @param reason - Optional reason for dismissal * @returns void on successful dismissal */ dismissFlag(flagUniqueId: string, reason?: string): Promise; } /** * Create the Moderation service */ export declare function createModerationService(transport: Transport, _config: { apiKey: string; }): ModerationService; //# sourceMappingURL=moderation.service.d.ts.map