export type BaseScheduleCallback = { customerName: string; callbackNumber: string; timezone: string; scheduleDate: string; startTime: string; endTime: string; queueId: string; callbackReason: string; sourceInteraction: string; assigneeAgent?: string; assignedTime: number; }; export type scheduleCallbackFormData = { id?: string; customerName?: string; callbackNumber: string; timezone: string; scheduleDate: string; startTime: string; endTime: string; assigneeAgent?: string; queueId: string; callbackReason: string; sourceInteraction?: string; campaignId?: string; isCampaignCall?: boolean; }; export type GetScheduleCallback = { data: Array<{ id: string; callbackOrigin: string; createdTimestamp: Date; lastUpdatedTimestamp: Date; } & BaseScheduleCallback>; meta: ApiMeta; }; export type GetScheduleCallbackById = { data: { id: string; callbackOrigin: string; createdTimestamp: Date; lastUpdatedTimestamp: Date; } & BaseScheduleCallback; }; export type ScheduleCallbackResp = { id: string; callbackOrigin: string; createdTimestamp: Date; lastUpdatedTimestamp: Date; } & BaseScheduleCallback; export type ApiErrorResponse = { errorData: string; errorDetail: { actual: string; errorType: string; expected: string; }; errorMessage: string; errorType: string; reasonCode: number; }; export type ApiMeta = { orgId: string; page: number; pageSize: number; totalPages: number; totalRecords: number; links: { self: string; }; }; /** Time slot with start and end time (e.g. "09:00", "17:00") */ export type CampaignTimeSlot = { start: string; end: string; }; /** Day keys for campaign weekly schedule */ export type CampaignDayOfWeek = "monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday" | "sunday"; /** Weekly schedule for campaign valid times: each day has an array of time slots */ export type CampaignWeeklySchedule = Record; /** Date override for campaign: specific date with custom shift times */ export type CampaignDateOverride = { date: string; shiftTimes: CampaignTimeSlot[]; }; /** Inner payload of CampaignValidTimesResponse (data field) */ export type CampaignValidTimesResponseData = { agentId: string; campaignId: string; dateOverrides: CampaignDateOverride[]; eventTime: number; eventType: string; orgId: string; result: boolean; timeZone: string; trackingId: string; type: "CampaignValidTimesResponse"; weeklySchedule: CampaignWeeklySchedule; }; /** API response for getValidCampaignTimes (CampaignValidTimesResponse) */ export type CampaignValidTimesResponse = { data: CampaignValidTimesResponseData; orgId: string; trackingId: string; type: "CampaignValidTimesResponse"; }; export type callbackErrorIds = "Service.routing.saveScheduleCallbackError" | "Service.routing.fetchByCallbackNumberError" | "Service.routing.updateScheduleCallbackError"; declare module "../../../index" { namespace Service.routing.scheduleCallback { export { GetScheduleCallback, BaseScheduleCallback, GetScheduleCallbackById }; export { scheduleCallbackFormData }; export { CampaignValidTimesResponse, CampaignValidTimesResponseData, CampaignWeeklySchedule, CampaignDateOverride, CampaignTimeSlot, CampaignDayOfWeek }; } } declare module "@uuip/unified-ui-platform-sdk" { namespace Err { interface Ids { "Service.routing.scheduleCallback": callbackErrorIds; } } } //# sourceMappingURL=types.d.ts.map