import { z } from 'zod';
export declare const submitResponseSchema: z.ZodObject<{
    representativeName: z.ZodString;
    representativeLevel: z.ZodNativeEnum<{
        FEDERAL: "FEDERAL";
        PROVINCIAL: "PROVINCIAL";
        MUNICIPAL: "MUNICIPAL";
        SCHOOL_BOARD: "SCHOOL_BOARD";
    }>;
    responseType: z.ZodNativeEnum<{
        EMAIL: "EMAIL";
        LETTER: "LETTER";
        PHONE_CALL: "PHONE_CALL";
        MEETING: "MEETING";
        SOCIAL_MEDIA: "SOCIAL_MEDIA";
        OTHER: "OTHER";
    }>;
    responseText: z.ZodString;
    representativeTitle: z.ZodOptional<z.ZodString>;
    representativeEmail: z.ZodOptional<z.ZodString>;
    userComment: z.ZodOptional<z.ZodString>;
    submittedByName: z.ZodOptional<z.ZodString>;
    submittedByEmail: z.ZodOptional<z.ZodString>;
    isAnonymous: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    sendVerification: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}, "strip", z.ZodTypeAny, {
    representativeName: string;
    representativeLevel: "FEDERAL" | "PROVINCIAL" | "MUNICIPAL" | "SCHOOL_BOARD";
    responseType: "EMAIL" | "LETTER" | "PHONE_CALL" | "MEETING" | "SOCIAL_MEDIA" | "OTHER";
    responseText: string;
    isAnonymous: boolean;
    sendVerification: boolean;
    representativeTitle?: string | undefined;
    representativeEmail?: string | undefined;
    userComment?: string | undefined;
    submittedByName?: string | undefined;
    submittedByEmail?: string | undefined;
}, {
    representativeName: string;
    representativeLevel: "FEDERAL" | "PROVINCIAL" | "MUNICIPAL" | "SCHOOL_BOARD";
    responseType: "EMAIL" | "LETTER" | "PHONE_CALL" | "MEETING" | "SOCIAL_MEDIA" | "OTHER";
    responseText: string;
    representativeTitle?: string | undefined;
    representativeEmail?: string | undefined;
    userComment?: string | undefined;
    submittedByName?: string | undefined;
    submittedByEmail?: string | undefined;
    isAnonymous?: boolean | undefined;
    sendVerification?: boolean | undefined;
}>;
export declare const listPublicResponsesSchema: z.ZodObject<{
    page: z.ZodDefault<z.ZodNumber>;
    limit: z.ZodDefault<z.ZodNumber>;
    sort: z.ZodDefault<z.ZodOptional<z.ZodEnum<["recent", "upvotes", "verified"]>>>;
    level: z.ZodOptional<z.ZodNativeEnum<{
        FEDERAL: "FEDERAL";
        PROVINCIAL: "PROVINCIAL";
        MUNICIPAL: "MUNICIPAL";
        SCHOOL_BOARD: "SCHOOL_BOARD";
    }>>;
}, "strip", z.ZodTypeAny, {
    sort: "upvotes" | "recent" | "verified";
    limit: number;
    page: number;
    level?: "FEDERAL" | "PROVINCIAL" | "MUNICIPAL" | "SCHOOL_BOARD" | undefined;
}, {
    sort?: "upvotes" | "recent" | "verified" | undefined;
    level?: "FEDERAL" | "PROVINCIAL" | "MUNICIPAL" | "SCHOOL_BOARD" | undefined;
    limit?: number | undefined;
    page?: number | undefined;
}>;
export declare const listAdminResponsesSchema: z.ZodObject<{
    page: z.ZodDefault<z.ZodNumber>;
    limit: z.ZodDefault<z.ZodNumber>;
    status: z.ZodOptional<z.ZodNativeEnum<{
        PENDING: "PENDING";
        APPROVED: "APPROVED";
        REJECTED: "REJECTED";
    }>>;
    campaignId: z.ZodOptional<z.ZodString>;
    search: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    limit: number;
    page: number;
    status?: "APPROVED" | "PENDING" | "REJECTED" | undefined;
    search?: string | undefined;
    campaignId?: string | undefined;
}, {
    status?: "APPROVED" | "PENDING" | "REJECTED" | undefined;
    search?: string | undefined;
    limit?: number | undefined;
    page?: number | undefined;
    campaignId?: string | undefined;
}>;
export declare const updateResponseStatusSchema: z.ZodObject<{
    status: z.ZodNativeEnum<{
        PENDING: "PENDING";
        APPROVED: "APPROVED";
        REJECTED: "REJECTED";
    }>;
}, "strip", z.ZodTypeAny, {
    status: "APPROVED" | "PENDING" | "REJECTED";
}, {
    status: "APPROVED" | "PENDING" | "REJECTED";
}>;
export type SubmitResponseInput = z.infer<typeof submitResponseSchema>;
export type ListPublicResponsesInput = z.infer<typeof listPublicResponsesSchema>;
export type ListAdminResponsesInput = z.infer<typeof listAdminResponsesSchema>;
export type UpdateResponseStatusInput = z.infer<typeof updateResponseStatusSchema>;
//# sourceMappingURL=responses.schemas.d.ts.map