import { RequestContext, StrapiContext } from '../@types'; import { PluginServices } from '../services'; import { client as clientValidator } from '../validators/api'; declare const controllers: ({ strapi }: StrapiContext) => { getService(name: T): PluginServices[T]; getStoreRepository(): { getLocalConfig

(prop?: P, defaultValue?: import("../@types").PathValue<{ enabledCollections?: string[]; approvalFlow?: string[]; entryLabel?: Record; moderatorRoles?: string[]; badWords?: boolean; blockedAuthorProps?: string[]; isValidationEnabled?: boolean; reportReasons?: { BAD_LANGUAGE?: import("../const").REPORT_REASON.BAD_LANGUAGE; DISCRIMINATION?: import("../const").REPORT_REASON.DISCRIMINATION; OTHER?: import("../const").REPORT_REASON.OTHER; }; isGQLPluginEnabled?: boolean; gql?: { auth?: boolean; }; client?: { url?: string; contactEmail?: string; }; }, P>): import("../@types").PathValue<{ enabledCollections?: string[]; approvalFlow?: string[]; entryLabel?: Record; moderatorRoles?: string[]; badWords?: boolean; blockedAuthorProps?: string[]; isValidationEnabled?: boolean; reportReasons?: { BAD_LANGUAGE?: import("../const").REPORT_REASON.BAD_LANGUAGE; DISCRIMINATION?: import("../const").REPORT_REASON.DISCRIMINATION; OTHER?: import("../const").REPORT_REASON.OTHER; }; isGQLPluginEnabled?: boolean; gql?: { auth?: boolean; }; client?: { url?: string; contactEmail?: string; }; }, P>; getStore(): Promise<{ get(params?: Partial<{ key: string; type?: string; environment?: string; name?: string; tag?: string; }>): Promise; set(params?: Partial<{ key: string; value: unknown; type?: string; environment?: string; name?: string; tag?: string; }>): Promise; delete(params?: Partial<{ key: string; type?: string; environment?: string; name?: string; tag?: string; }>): Promise; }>; getConfig(): Promise; moderatorRoles?: string[]; badWords?: boolean; blockedAuthorProps?: string[]; isValidationEnabled?: boolean; reportReasons?: { BAD_LANGUAGE?: import("../const").REPORT_REASON.BAD_LANGUAGE; DISCRIMINATION?: import("../const").REPORT_REASON.DISCRIMINATION; OTHER?: import("../const").REPORT_REASON.OTHER; }; isGQLPluginEnabled?: boolean; gql?: { auth?: boolean; }; client?: { url?: string; contactEmail?: string; }; }>>; get(viaSettingsPage?: T_1): Promise; moderatorRoles?: string[]; badWords?: boolean; blockedAuthorProps?: string[]; isValidationEnabled?: boolean; reportReasons?: { BAD_LANGUAGE?: import("../const").REPORT_REASON.BAD_LANGUAGE; DISCRIMINATION?: import("../const").REPORT_REASON.DISCRIMINATION; OTHER?: import("../const").REPORT_REASON.OTHER; }; isGQLPluginEnabled?: boolean; gql?: { auth?: boolean; }; client?: { url?: string; contactEmail?: string; }; } : Omit<{ enabledCollections?: string[]; approvalFlow?: string[]; entryLabel?: Record; moderatorRoles?: string[]; badWords?: boolean; blockedAuthorProps?: string[]; isValidationEnabled?: boolean; reportReasons?: { BAD_LANGUAGE?: import("../const").REPORT_REASON.BAD_LANGUAGE; DISCRIMINATION?: import("../const").REPORT_REASON.DISCRIMINATION; OTHER?: import("../const").REPORT_REASON.OTHER; }; isGQLPluginEnabled?: boolean; gql?: { auth?: boolean; }; client?: { url?: string; contactEmail?: string; }; }, "enabledCollections" | "moderatorRoles" | "isGQLPluginEnabled">>>; update(config: { enabledCollections?: string[]; approvalFlow?: string[]; entryLabel?: Record; moderatorRoles?: string[]; badWords?: boolean; blockedAuthorProps?: string[]; isValidationEnabled?: boolean; reportReasons?: { BAD_LANGUAGE?: import("../const").REPORT_REASON.BAD_LANGUAGE; DISCRIMINATION?: import("../const").REPORT_REASON.DISCRIMINATION; OTHER?: import("../const").REPORT_REASON.OTHER; }; isGQLPluginEnabled?: boolean; gql?: { auth?: boolean; }; client?: { url?: string; contactEmail?: string; }; }): Promise; moderatorRoles?: string[]; badWords?: boolean; blockedAuthorProps?: string[]; isValidationEnabled?: boolean; reportReasons?: { BAD_LANGUAGE?: import("../const").REPORT_REASON.BAD_LANGUAGE; DISCRIMINATION?: import("../const").REPORT_REASON.DISCRIMINATION; OTHER?: import("../const").REPORT_REASON.OTHER; }; isGQLPluginEnabled?: boolean; gql?: { auth?: boolean; }; client?: { url?: string; contactEmail?: string; }; } | Omit<{ enabledCollections?: string[]; approvalFlow?: string[]; entryLabel?: Record; moderatorRoles?: string[]; badWords?: boolean; blockedAuthorProps?: string[]; isValidationEnabled?: boolean; reportReasons?: { BAD_LANGUAGE?: import("../const").REPORT_REASON.BAD_LANGUAGE; DISCRIMINATION?: import("../const").REPORT_REASON.DISCRIMINATION; OTHER?: import("../const").REPORT_REASON.OTHER; }; isGQLPluginEnabled?: boolean; gql?: { auth?: boolean; }; client?: { url?: string; contactEmail?: string; }; }, "enabledCollections" | "moderatorRoles" | "isGQLPluginEnabled">>>; restore(): Promise; moderatorRoles?: string[]; badWords?: boolean; blockedAuthorProps?: string[]; isValidationEnabled?: boolean; reportReasons?: { BAD_LANGUAGE?: import("../const").REPORT_REASON.BAD_LANGUAGE; DISCRIMINATION?: import("../const").REPORT_REASON.DISCRIMINATION; OTHER?: import("../const").REPORT_REASON.OTHER; }; isGQLPluginEnabled?: boolean; gql?: { auth?: boolean; }; client?: { url?: string; contactEmail?: string; }; } | Omit<{ enabledCollections?: string[]; approvalFlow?: string[]; entryLabel?: Record; moderatorRoles?: string[]; badWords?: boolean; blockedAuthorProps?: string[]; isValidationEnabled?: boolean; reportReasons?: { BAD_LANGUAGE?: import("../const").REPORT_REASON.BAD_LANGUAGE; DISCRIMINATION?: import("../const").REPORT_REASON.DISCRIMINATION; OTHER?: import("../const").REPORT_REASON.OTHER; }; isGQLPluginEnabled?: boolean; gql?: { auth?: boolean; }; client?: { url?: string; contactEmail?: string; }; }, "enabledCollections" | "moderatorRoles" | "isGQLPluginEnabled">>>; }; post(ctx: RequestContext>): Promise<{ id?: number; documentId?: string; content?: string; blocked?: boolean; blockedThread?: boolean; blockReason?: string; isAdminComment?: boolean; removed?: boolean; approvalStatus?: string; related?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; authorId?: string; authorName?: string; authorEmail?: string; authorAvatar?: string; authorUser?: string | { id?: number; username?: string; email?: string; avatar?: { url?: string; name?: string; hash?: string; id?: number; formats?: { small?: { url?: string; name?: string; hash?: string; }; thumbnail?: { url?: string; name?: string; hash?: string; }; medium?: { url?: string; name?: string; hash?: string; }; large?: { url?: string; name?: string; hash?: string; }; }; }; }; locale?: string; rating?: number; lastExperience?: string; gotThread?: boolean; threadFirstItemId?: number; reports?: { id?: number; documentId?: string; content?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; locale?: string; rating?: number; lastExperience?: string; reason?: string; resolved?: boolean; }[]; author?: any; threadOf?: number | { id?: number; documentId?: string; content?: string; blocked?: boolean; blockedThread?: boolean; blockReason?: string; isAdminComment?: boolean; removed?: boolean; approvalStatus?: string; related?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; authorId?: string; authorName?: string; authorEmail?: string; authorAvatar?: string; authorUser?: string | { id?: number; username?: string; email?: string; avatar?: { url?: string; name?: string; hash?: string; id?: number; formats?: { small?: { url?: string; name?: string; hash?: string; }; thumbnail?: { url?: string; name?: string; hash?: string; }; medium?: { url?: string; name?: string; hash?: string; }; large?: { url?: string; name?: string; hash?: string; }; }; }; }; locale?: string; rating?: number; lastExperience?: string; gotThread?: boolean; threadFirstItemId?: number; reports?: { id?: number; documentId?: string; content?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; locale?: string; rating?: number; lastExperience?: string; reason?: string; resolved?: boolean; }[]; author?: any; }; }>; findAllFlat(ctx: RequestContext>): Promise<{ data: ({ id?: number; documentId?: string; content?: string; blocked?: boolean; blockedThread?: boolean; blockReason?: string; isAdminComment?: boolean; removed?: boolean; approvalStatus?: string; related?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; authorId?: string; authorName?: string; authorEmail?: string; authorAvatar?: string; authorUser?: string | { id?: number; username?: string; email?: string; avatar?: { url?: string; name?: string; hash?: string; id?: number; formats?: { small?: { url?: string; name?: string; hash?: string; }; thumbnail?: { url?: string; name?: string; hash?: string; }; medium?: { url?: string; name?: string; hash?: string; }; large?: { url?: string; name?: string; hash?: string; }; }; }; }; locale?: string; rating?: number; lastExperience?: string; gotThread?: boolean; threadFirstItemId?: number; reports?: { id?: number; documentId?: string; content?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; locale?: string; rating?: number; lastExperience?: string; reason?: string; resolved?: boolean; }[]; author?: any; threadOf?: number | { id?: number; documentId?: string; content?: string; blocked?: boolean; blockedThread?: boolean; blockReason?: string; isAdminComment?: boolean; removed?: boolean; approvalStatus?: string; related?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; authorId?: string; authorName?: string; authorEmail?: string; authorAvatar?: string; authorUser?: string | { id?: number; username?: string; email?: string; avatar?: { url?: string; name?: string; hash?: string; id?: number; formats?: { small?: { url?: string; name?: string; hash?: string; }; thumbnail?: { url?: string; name?: string; hash?: string; }; medium?: { url?: string; name?: string; hash?: string; }; large?: { url?: string; name?: string; hash?: string; }; }; }; }; locale?: string; rating?: number; lastExperience?: string; gotThread?: boolean; threadFirstItemId?: number; reports?: { id?: number; documentId?: string; content?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; locale?: string; rating?: number; lastExperience?: string; reason?: string; resolved?: boolean; }[]; author?: any; }; } | { id?: number; documentId?: string; content?: string; blocked?: boolean; blockedThread?: boolean; blockReason?: string; isAdminComment?: boolean; removed?: boolean; approvalStatus?: string; related?: { id?: number; documentId?: string; locale?: string; uid?: string; requireCommentsApproval?: boolean; }; createdAt?: string; updatedAt?: string; publishedAt?: string; authorId?: string; authorName?: string; authorEmail?: string; authorAvatar?: string; authorUser?: string | { id?: number; username?: string; email?: string; avatar?: { url?: string; name?: string; hash?: string; id?: number; formats?: { small?: { url?: string; name?: string; hash?: string; }; thumbnail?: { url?: string; name?: string; hash?: string; }; medium?: { url?: string; name?: string; hash?: string; }; large?: { url?: string; name?: string; hash?: string; }; }; }; }; locale?: string; rating?: number; lastExperience?: string; gotThread?: boolean; threadFirstItemId?: number; reports?: { id?: number; documentId?: string; content?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; locale?: string; rating?: number; lastExperience?: string; reason?: string; resolved?: boolean; }[]; author?: any; threadOf?: number | { id?: number; documentId?: string; content?: string; blocked?: boolean; blockedThread?: boolean; blockReason?: string; isAdminComment?: boolean; removed?: boolean; approvalStatus?: string; related?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; authorId?: string; authorName?: string; authorEmail?: string; authorAvatar?: string; authorUser?: string | { id?: number; username?: string; email?: string; avatar?: { url?: string; name?: string; hash?: string; id?: number; formats?: { small?: { url?: string; name?: string; hash?: string; }; thumbnail?: { url?: string; name?: string; hash?: string; }; medium?: { url?: string; name?: string; hash?: string; }; large?: { url?: string; name?: string; hash?: string; }; }; }; }; locale?: string; rating?: number; lastExperience?: string; gotThread?: boolean; threadFirstItemId?: number; reports?: { id?: number; documentId?: string; content?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; locale?: string; rating?: number; lastExperience?: string; reason?: string; resolved?: boolean; }[]; author?: any; }; })[]; pagination?: { page?: number; pageSize?: number; pageCount?: number; total?: number; }; }>; findAllInHierarchy(ctx: RequestContext>): Promise; findAllPerAuthor(ctx: RequestContext>): Promise<{ data: ({ id?: number; documentId?: string; content?: string; blocked?: boolean; blockedThread?: boolean; blockReason?: string; isAdminComment?: boolean; removed?: boolean; approvalStatus?: string; related?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; authorId?: string; authorName?: string; authorEmail?: string; authorAvatar?: string; authorUser?: string | { id?: number; username?: string; email?: string; avatar?: { url?: string; name?: string; hash?: string; id?: number; formats?: { small?: { url?: string; name?: string; hash?: string; }; thumbnail?: { url?: string; name?: string; hash?: string; }; medium?: { url?: string; name?: string; hash?: string; }; large?: { url?: string; name?: string; hash?: string; }; }; }; }; locale?: string; rating?: number; lastExperience?: string; gotThread?: boolean; threadFirstItemId?: number; reports?: { id?: number; documentId?: string; content?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; locale?: string; rating?: number; lastExperience?: string; reason?: string; resolved?: boolean; }[]; threadOf?: number | { id?: number; documentId?: string; content?: string; blocked?: boolean; blockedThread?: boolean; blockReason?: string; isAdminComment?: boolean; removed?: boolean; approvalStatus?: string; related?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; authorId?: string; authorName?: string; authorEmail?: string; authorAvatar?: string; authorUser?: string | { id?: number; username?: string; email?: string; avatar?: { url?: string; name?: string; hash?: string; id?: number; formats?: { small?: { url?: string; name?: string; hash?: string; }; thumbnail?: { url?: string; name?: string; hash?: string; }; medium?: { url?: string; name?: string; hash?: string; }; large?: { url?: string; name?: string; hash?: string; }; }; }; }; locale?: string; rating?: number; lastExperience?: string; gotThread?: boolean; threadFirstItemId?: number; reports?: { id?: number; documentId?: string; content?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; locale?: string; rating?: number; lastExperience?: string; reason?: string; resolved?: boolean; }[]; author?: any; }; } | { id?: number; documentId?: string; content?: string; blocked?: boolean; blockedThread?: boolean; blockReason?: string; isAdminComment?: boolean; removed?: boolean; approvalStatus?: string; related?: { id?: number; documentId?: string; locale?: string; uid?: string; requireCommentsApproval?: boolean; }; createdAt?: string; updatedAt?: string; publishedAt?: string; authorId?: string; authorName?: string; authorEmail?: string; authorAvatar?: string; authorUser?: string | { id?: number; username?: string; email?: string; avatar?: { url?: string; name?: string; hash?: string; id?: number; formats?: { small?: { url?: string; name?: string; hash?: string; }; thumbnail?: { url?: string; name?: string; hash?: string; }; medium?: { url?: string; name?: string; hash?: string; }; large?: { url?: string; name?: string; hash?: string; }; }; }; }; locale?: string; rating?: number; lastExperience?: string; gotThread?: boolean; threadFirstItemId?: number; reports?: { id?: number; documentId?: string; content?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; locale?: string; rating?: number; lastExperience?: string; reason?: string; resolved?: boolean; }[]; threadOf?: number | { id?: number; documentId?: string; content?: string; blocked?: boolean; blockedThread?: boolean; blockReason?: string; isAdminComment?: boolean; removed?: boolean; approvalStatus?: string; related?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; authorId?: string; authorName?: string; authorEmail?: string; authorAvatar?: string; authorUser?: string | { id?: number; username?: string; email?: string; avatar?: { url?: string; name?: string; hash?: string; id?: number; formats?: { small?: { url?: string; name?: string; hash?: string; }; thumbnail?: { url?: string; name?: string; hash?: string; }; medium?: { url?: string; name?: string; hash?: string; }; large?: { url?: string; name?: string; hash?: string; }; }; }; }; locale?: string; rating?: number; lastExperience?: string; gotThread?: boolean; threadFirstItemId?: number; reports?: { id?: number; documentId?: string; content?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; locale?: string; rating?: number; lastExperience?: string; reason?: string; resolved?: boolean; }[]; author?: any; }; })[]; pagination?: { page?: number; pageSize?: number; pageCount?: number; total?: number; }; }>; put(ctx: RequestContext<{ content: string; author: unknown; }>): Promise<{ id?: number; documentId?: string; content?: string; blocked?: boolean; blockedThread?: boolean; blockReason?: string; isAdminComment?: boolean; removed?: boolean; approvalStatus?: string; related?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; authorId?: string; authorName?: string; authorEmail?: string; authorAvatar?: string; authorUser?: string | { id?: number; username?: string; email?: string; avatar?: { url?: string; name?: string; hash?: string; id?: number; formats?: { small?: { url?: string; name?: string; hash?: string; }; thumbnail?: { url?: string; name?: string; hash?: string; }; medium?: { url?: string; name?: string; hash?: string; }; large?: { url?: string; name?: string; hash?: string; }; }; }; }; locale?: string; rating?: number; lastExperience?: string; gotThread?: boolean; threadFirstItemId?: number; reports?: { id?: number; documentId?: string; content?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; locale?: string; rating?: number; lastExperience?: string; reason?: string; resolved?: boolean; }[]; author?: any; threadOf?: number | { id?: number; documentId?: string; content?: string; blocked?: boolean; blockedThread?: boolean; blockReason?: string; isAdminComment?: boolean; removed?: boolean; approvalStatus?: string; related?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; authorId?: string; authorName?: string; authorEmail?: string; authorAvatar?: string; authorUser?: string | { id?: number; username?: string; email?: string; avatar?: { url?: string; name?: string; hash?: string; id?: number; formats?: { small?: { url?: string; name?: string; hash?: string; }; thumbnail?: { url?: string; name?: string; hash?: string; }; medium?: { url?: string; name?: string; hash?: string; }; large?: { url?: string; name?: string; hash?: string; }; }; }; }; locale?: string; rating?: number; lastExperience?: string; gotThread?: boolean; threadFirstItemId?: number; reports?: { id?: number; documentId?: string; content?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; locale?: string; rating?: number; lastExperience?: string; reason?: string; resolved?: boolean; }[]; author?: any; }; }>; reportAbuse(ctx: RequestContext): Promise<{ related: { id?: number; documentId?: string; content?: string; blocked?: boolean; blockedThread?: boolean; blockReason?: string; isAdminComment?: boolean; removed?: boolean; approvalStatus?: string; related?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; authorId?: string; authorName?: string; authorEmail?: string; authorAvatar?: string; authorUser?: string | { id?: number; username?: string; email?: string; avatar?: { url?: string; name?: string; hash?: string; id?: number; formats?: { small?: { url?: string; name?: string; hash?: string; }; thumbnail?: { url?: string; name?: string; hash?: string; }; medium?: { url?: string; name?: string; hash?: string; }; large?: { url?: string; name?: string; hash?: string; }; }; }; }; locale?: string; rating?: number; lastExperience?: string; gotThread?: boolean; threadFirstItemId?: number; reports?: { id?: number; documentId?: string; content?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; locale?: string; rating?: number; lastExperience?: string; reason?: string; resolved?: boolean; }[]; author?: any; threadOf?: number | { id?: number; documentId?: string; content?: string; blocked?: boolean; blockedThread?: boolean; blockReason?: string; isAdminComment?: boolean; removed?: boolean; approvalStatus?: string; related?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; authorId?: string; authorName?: string; authorEmail?: string; authorAvatar?: string; authorUser?: string | { id?: number; username?: string; email?: string; avatar?: { url?: string; name?: string; hash?: string; id?: number; formats?: { small?: { url?: string; name?: string; hash?: string; }; thumbnail?: { url?: string; name?: string; hash?: string; }; medium?: { url?: string; name?: string; hash?: string; }; large?: { url?: string; name?: string; hash?: string; }; }; }; }; locale?: string; rating?: number; lastExperience?: string; gotThread?: boolean; threadFirstItemId?: number; reports?: { id?: number; documentId?: string; content?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; locale?: string; rating?: number; lastExperience?: string; reason?: string; resolved?: boolean; }[]; author?: any; }; }; id?: number; documentId?: string; content?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; locale?: string; reason?: string; resolved?: boolean; }>; removeComment(ctx: RequestContext): Promise<{ id?: number; documentId?: string; content?: string; blocked?: boolean; blockedThread?: boolean; blockReason?: string; isAdminComment?: boolean; removed?: boolean; approvalStatus?: string; related?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; authorId?: string; authorName?: string; authorEmail?: string; authorAvatar?: string; authorUser?: string | { id?: number; username?: string; email?: string; avatar?: { url?: string; name?: string; hash?: string; id?: number; formats?: { small?: { url?: string; name?: string; hash?: string; }; thumbnail?: { url?: string; name?: string; hash?: string; }; medium?: { url?: string; name?: string; hash?: string; }; large?: { url?: string; name?: string; hash?: string; }; }; }; }; locale?: string; rating?: number; lastExperience?: string; gotThread?: boolean; threadFirstItemId?: number; reports?: { id?: number; documentId?: string; content?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; locale?: string; rating?: number; lastExperience?: string; reason?: string; resolved?: boolean; }[]; author?: any; threadOf?: number | { id?: number; documentId?: string; content?: string; blocked?: boolean; blockedThread?: boolean; blockReason?: string; isAdminComment?: boolean; removed?: boolean; approvalStatus?: string; related?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; authorId?: string; authorName?: string; authorEmail?: string; authorAvatar?: string; authorUser?: string | { id?: number; username?: string; email?: string; avatar?: { url?: string; name?: string; hash?: string; id?: number; formats?: { small?: { url?: string; name?: string; hash?: string; }; thumbnail?: { url?: string; name?: string; hash?: string; }; medium?: { url?: string; name?: string; hash?: string; }; large?: { url?: string; name?: string; hash?: string; }; }; }; }; locale?: string; rating?: number; lastExperience?: string; gotThread?: boolean; threadFirstItemId?: number; reports?: { id?: number; documentId?: string; content?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; locale?: string; rating?: number; lastExperience?: string; reason?: string; resolved?: boolean; }[]; author?: any; }; }>; getRatingsAverage(ctx: RequestContext<{ documentIds: string[]; }>): Promise<{ documentId: string; moyenneNotes: number; nombreNotes: number; }[]>; getLastCommentedResources(ctx: RequestContext): Promise<{ comment: { id?: number; documentId?: string; content?: string; blocked?: boolean; blockedThread?: boolean; blockReason?: string; isAdminComment?: boolean; removed?: boolean; approvalStatus?: string; related?: { id?: number; documentId?: string; locale?: string; uid?: string; requireCommentsApproval?: boolean; }; createdAt?: string; updatedAt?: string; publishedAt?: string; authorId?: string; authorName?: string; authorEmail?: string; authorAvatar?: string; authorUser?: string | { id?: number; username?: string; email?: string; avatar?: { url?: string; name?: string; hash?: string; id?: number; formats?: { small?: { url?: string; name?: string; hash?: string; }; thumbnail?: { url?: string; name?: string; hash?: string; }; medium?: { url?: string; name?: string; hash?: string; }; large?: { url?: string; name?: string; hash?: string; }; }; }; }; locale?: string; rating?: number; lastExperience?: string; gotThread?: boolean; threadFirstItemId?: number; reports?: { id?: number; documentId?: string; content?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; locale?: string; rating?: number; lastExperience?: string; reason?: string; resolved?: boolean; }[]; author?: any; threadOf?: number | { id?: number; documentId?: string; content?: string; blocked?: boolean; blockedThread?: boolean; blockReason?: string; isAdminComment?: boolean; removed?: boolean; approvalStatus?: string; related?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; authorId?: string; authorName?: string; authorEmail?: string; authorAvatar?: string; authorUser?: string | { id?: number; username?: string; email?: string; avatar?: { url?: string; name?: string; hash?: string; id?: number; formats?: { small?: { url?: string; name?: string; hash?: string; }; thumbnail?: { url?: string; name?: string; hash?: string; }; medium?: { url?: string; name?: string; hash?: string; }; large?: { url?: string; name?: string; hash?: string; }; }; }; }; locale?: string; rating?: number; lastExperience?: string; gotThread?: boolean; threadFirstItemId?: number; reports?: { id?: number; documentId?: string; content?: string; createdAt?: string; updatedAt?: string; publishedAt?: string; locale?: string; rating?: number; lastExperience?: string; reason?: string; resolved?: boolean; }[]; author?: any; }; }; commentsCount: number; }[]>; }; export default controllers;