import { z } from 'zod';
export declare const createShiftSchema: z.ZodObject<{
    title: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
    date: z.ZodString;
    startTime: z.ZodString;
    endTime: z.ZodString;
    location: z.ZodOptional<z.ZodString>;
    maxVolunteers: z.ZodNumber;
    isPublic: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    cutId: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    date: string;
    title: string;
    isPublic: boolean;
    startTime: string;
    endTime: string;
    maxVolunteers: number;
    location?: string | undefined;
    description?: string | undefined;
    cutId?: string | undefined;
}, {
    date: string;
    title: string;
    startTime: string;
    endTime: string;
    maxVolunteers: number;
    location?: string | undefined;
    description?: string | undefined;
    isPublic?: boolean | undefined;
    cutId?: string | undefined;
}>;
export declare const updateShiftSchema: z.ZodObject<{
    title: z.ZodOptional<z.ZodString>;
    description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    date: z.ZodOptional<z.ZodString>;
    startTime: z.ZodOptional<z.ZodString>;
    endTime: z.ZodOptional<z.ZodString>;
    location: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    maxVolunteers: z.ZodOptional<z.ZodNumber>;
    isPublic: z.ZodOptional<z.ZodBoolean>;
    status: z.ZodOptional<z.ZodNativeEnum<{
        OPEN: "OPEN";
        FULL: "FULL";
        CANCELLED: "CANCELLED";
    }>>;
    cutId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
}, "strip", z.ZodTypeAny, {
    status?: "CANCELLED" | "OPEN" | "FULL" | undefined;
    date?: string | undefined;
    location?: string | null | undefined;
    title?: string | undefined;
    description?: string | null | undefined;
    isPublic?: boolean | undefined;
    cutId?: string | null | undefined;
    startTime?: string | undefined;
    endTime?: string | undefined;
    maxVolunteers?: number | undefined;
}, {
    status?: "CANCELLED" | "OPEN" | "FULL" | undefined;
    date?: string | undefined;
    location?: string | null | undefined;
    title?: string | undefined;
    description?: string | null | undefined;
    isPublic?: boolean | undefined;
    cutId?: string | null | undefined;
    startTime?: string | undefined;
    endTime?: string | undefined;
    maxVolunteers?: number | undefined;
}>;
export declare const listShiftsSchema: z.ZodObject<{
    page: z.ZodDefault<z.ZodNumber>;
    limit: z.ZodDefault<z.ZodNumber>;
    search: z.ZodOptional<z.ZodString>;
    status: z.ZodOptional<z.ZodNativeEnum<{
        OPEN: "OPEN";
        FULL: "FULL";
        CANCELLED: "CANCELLED";
    }>>;
    upcoming: z.ZodOptional<z.ZodBoolean>;
    sortBy: z.ZodDefault<z.ZodOptional<z.ZodEnum<["date", "createdAt", "title"]>>>;
    sortOrder: z.ZodDefault<z.ZodOptional<z.ZodEnum<["asc", "desc"]>>>;
}, "strip", z.ZodTypeAny, {
    limit: number;
    page: number;
    sortBy: "date" | "createdAt" | "title";
    sortOrder: "asc" | "desc";
    status?: "CANCELLED" | "OPEN" | "FULL" | undefined;
    search?: string | undefined;
    upcoming?: boolean | undefined;
}, {
    status?: "CANCELLED" | "OPEN" | "FULL" | undefined;
    search?: string | undefined;
    limit?: number | undefined;
    page?: number | undefined;
    sortBy?: "date" | "createdAt" | "title" | undefined;
    sortOrder?: "asc" | "desc" | undefined;
    upcoming?: boolean | undefined;
}>;
export declare const addSignupSchema: z.ZodObject<{
    userEmail: z.ZodString;
    userName: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    userEmail: string;
    userName?: string | undefined;
}, {
    userEmail: string;
    userName?: string | undefined;
}>;
export declare const publicSignupSchema: z.ZodObject<{
    email: z.ZodString;
    name: z.ZodString;
    phone: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    email: string;
    name: string;
    phone?: string | undefined;
}, {
    email: string;
    name: string;
    phone?: string | undefined;
}>;
export type CreateShiftInput = z.infer<typeof createShiftSchema>;
export type UpdateShiftInput = z.infer<typeof updateShiftSchema>;
export type ListShiftsInput = z.infer<typeof listShiftsSchema>;
export type AddSignupInput = z.infer<typeof addSignupSchema>;
export type PublicSignupInput = z.infer<typeof publicSignupSchema>;
//# sourceMappingURL=shifts.schemas.d.ts.map