import { Action, EntityType } from '../../services/EntityManager/types'; import { Configuration, CommentsApi as GeneratedCommentsApi, type CreateCommentRequest, type UpdateCommentRequest, type DeleteCommentRequest, type PinCommentRequest, type UnpinCommentRequest, type ReactToCommentRequest, type UnreactToCommentRequest, type ReportCommentRequest } from '../generated/default'; import { EntityManagerCreateCommentRequest, EntityManagerUpdateCommentRequest, EntityManagerDeleteCommentRequest, EntityManagerPinCommentRequest, EntityManagerReactCommentRequest, EntityManagerReportCommentRequest, type CommentsApiServicesConfig } from './types'; export declare class CommentsApi extends GeneratedCommentsApi { private readonly entityManager?; constructor(configuration: Configuration, services: CommentsApiServicesConfig); generateCommentId(): Promise; /** @hidden * Create a comment using entity manager */ createCommentWithEntityManager(params: EntityManagerCreateCommentRequest): Promise<{ commentId: string; blockHash: string; blockNumber: number; transactionHash: string; }>; createComment(params: CreateCommentRequest, requestInit?: RequestInit): Promise; /** @hidden * Update a comment using entity manager */ updateCommentWithEntityManager(params: EntityManagerUpdateCommentRequest): Promise; updateComment(params: UpdateCommentRequest, requestInit?: RequestInit): Promise; /** @hidden * Delete a comment using entity manager */ deleteCommentWithEntityManager(params: EntityManagerDeleteCommentRequest): Promise; deleteComment(params: DeleteCommentRequest, requestInit?: RequestInit): Promise; /** @hidden * React to a comment using entity manager */ reactToCommentWithEntityManager(params: EntityManagerReactCommentRequest): Promise; reactToComment(params: ReactToCommentRequest, requestInit?: RequestInit): Promise; unreactToComment(params: UnreactToCommentRequest, requestInit?: RequestInit): Promise; /** @hidden * Pin a comment using entity manager */ pinCommentWithEntityManager(params: EntityManagerPinCommentRequest): Promise; pinComment(params: PinCommentRequest, requestInit?: RequestInit): Promise; unpinComment(params: UnpinCommentRequest, requestInit?: RequestInit): Promise; /** @hidden * Report a comment using entity manager */ reportCommentWithEntityManager(params: EntityManagerReportCommentRequest): Promise; reportComment(params: ReportCommentRequest, requestInit?: RequestInit): Promise; /** @hidden * Mute/unmute a user (entity manager only) */ muteUser(userId: number, mutedUserId: number, isMuted: boolean): Promise; /** @hidden * Update comment notification settings (entity manager only) */ updateCommentNotificationSetting(config: { userId: number; entityType: EntityType; entityId: number; action: Action.MUTE | Action.UNMUTE; }): Promise; }