import { QueryParams } from '../types/fetchResponse.type'; export interface GetScheduleOptionQueryParams extends QueryParams { frequencyOptions?: boolean; modifiedByOptions?: boolean; } export type FrequencyType = 'Once' | 'Daily' | 'Weekly' | 'Monthly' | 'Annually' | 'Custom'; export type FrequencyUnit = 'Day(s)' | 'Week(s)' | 'Month(s)' | 'Year(s)' | null; export interface BaseRequestScheduleBody { name: string; frequency: { type: FrequencyType; unit: FrequencyUnit; value: number | null; }; duration: number; scheduleDate: number; } export interface PostCreateScheduleBody extends BaseRequestScheduleBody { administrativeGroup: string; items: Array<{ skuId: string; groupId: string; }>; totalStock: number; } export interface PutEditScheduleBody extends BaseRequestScheduleBody { items: Array<{ skuId: string; groupId: string; isActive: boolean; }>; } export interface PatchEditStatusScheduleBody { scheduleIds: string[]; status: boolean; } export type DeleteScheduleBody = Omit; export interface GetActiveScheduleDetailOptionsQueryParams extends QueryParams { itemNameOptions?: boolean; brandOptions?: boolean; modelOptions?: boolean; tagTypeOptions?: boolean; } export type GetItemsByAdminGroupOptionsQueryParams = GetActiveScheduleDetailOptionsQueryParams; export interface GetCheckExistScheduleQueryParams { name: string; }