import type { SubmitResponseInput, ListPublicResponsesInput, ListAdminResponsesInput, UpdateResponseStatusInput } from './responses.schemas'; export declare const responsesService: { submitResponse(slug: string, data: SubmitResponseInput, senderIp?: string): Promise<{ id: string; status: import(".prisma/client").$Enums.ResponseStatus; verificationSent: boolean; }>; listApproved(slug: string, filters: ListPublicResponsesInput): Promise<{ responses: { id: string; createdAt: Date; upvoteCount: number; representativeName: string; representativeTitle: string | null; representativeLevel: import(".prisma/client").$Enums.GovernmentLevel; responseType: import(".prisma/client").$Enums.ResponseType; responseText: string; userComment: string | null; submittedByName: string | null; isAnonymous: boolean; isVerified: boolean; verifiedAt: Date | null; }[]; pagination: { page: number; limit: number; total: number; totalPages: number; }; }>; getStats(slug: string): Promise<{ total: number; verified: number; totalUpvotes: number; byLevel: Record; }>; upvote(responseId: string, userIp?: string, userId?: string): Promise<{ success: boolean; alreadyUpvoted?: undefined; } | { success: boolean; alreadyUpvoted: boolean; }>; removeUpvote(responseId: string, userIp?: string, userId?: string): Promise<{ success: boolean; }>; verify(responseId: string, token: string): Promise<{ success: boolean; reason: string; campaignTitle?: undefined; } | { success: boolean; campaignTitle: string; reason?: undefined; }>; report(responseId: string, token: string): Promise<{ success: boolean; reason: string; campaignTitle?: undefined; } | { success: boolean; campaignTitle: string; reason?: undefined; }>; findAll(filters: ListAdminResponsesInput): Promise<{ responses: { status: import(".prisma/client").$Enums.ResponseStatus; id: string; createdAt: Date; upvoteCount: number; campaign: { id: string; title: string; slug: string; }; representativeName: string; representativeTitle: string | null; representativeLevel: import(".prisma/client").$Enums.GovernmentLevel; representativeEmail: string | null; responseType: import(".prisma/client").$Enums.ResponseType; responseText: string; userComment: string | null; submittedByName: string | null; submittedByEmail: string | null; isAnonymous: boolean; isVerified: boolean; verifiedAt: Date | null; verifiedBy: string | null; }[]; pagination: { page: number; limit: number; total: number; totalPages: number; }; }>; updateStatus(id: string, data: UpdateResponseStatusInput): Promise<{ status: import(".prisma/client").$Enums.ResponseStatus; id: string; createdAt: Date; updatedAt: Date; upvoteCount: number; submittedByUserId: string | null; campaignId: string; campaignSlug: string; representativeName: string; representativeTitle: string | null; representativeLevel: import(".prisma/client").$Enums.GovernmentLevel; representativeEmail: string | null; responseType: import(".prisma/client").$Enums.ResponseType; responseText: string; userComment: string | null; screenshotUrl: string | null; submittedByName: string | null; submittedByEmail: string | null; isAnonymous: boolean; isVerified: boolean; verificationToken: string | null; verificationSentAt: Date | null; verifiedAt: Date | null; verifiedBy: string | null; submittedIp: string | null; }>; deleteResponse(id: string): Promise; resendVerification(id: string): Promise<{ success: boolean; }>; }; //# sourceMappingURL=responses.service.d.ts.map