import type { PrismaClient } from '../../prisma';
import type { TUpdateInputSchema } from '../../trpc/server/routers/viewer/availability/schedule/update.schema';
import type { TrpcSessionUser } from '../../trpc/server/types';
interface IUpdateScheduleOptions {
    input: TUpdateInputSchema;
    user: Pick<NonNullable<TrpcSessionUser>, "id" | "defaultScheduleId" | "timeZone">;
    prisma: PrismaClient;
}
export type UpdateScheduleResponse = Awaited<ReturnType<typeof updateSchedule>>;
export declare const updateSchedule: ({ input, user, prisma }: IUpdateScheduleOptions) => Promise<{
    schedule: {
        name: string;
        id: number;
        userId: number;
    };
    isDefault: boolean;
    availability?: undefined;
    timeZone?: undefined;
    prevDefaultId?: undefined;
    currentDefaultId?: undefined;
} | {
    schedule: {
        eventType: {
            id: number;
            eventName: string | null;
        }[];
        name: string;
        id: number;
        availability: {
            id: number;
            days: number[];
            date: Date | null;
            userId: number | null;
            eventTypeId: number | null;
            scheduleId: number | null;
            startTime: Date;
            endTime: Date;
        }[];
        userId: number;
        timeZone: string | null;
    };
    availability: import("@calcom/types/schedule").Schedule;
    timeZone: string;
    isDefault: boolean;
    prevDefaultId: number | null;
    currentDefaultId: number | null;
}>;
export {};
//# sourceMappingURL=updateSchedule.d.ts.map