export type TPeriod = {
  label: string;
  value: string;
}[];
export type TRotationType = {
  label: string;
  value: string;
}[];
export type TRotationEndpointType = {
  label: string;
  value: number;
}[];
export type TTranslations = {
  [key: string]: string;
};

export type TValidateMessage = {
  sizeRotations: string;
  period: string;
  time: string;
  week: string;
  month: string;
};

export type TSizeRotations = {
  title: string;
  subTitle: string;
};

export type TRotationMessage = {
  incidents: {
    title: string;
    tooltip: string;
  };
  events: {
    title: string;
    tooltip: string;
  };
  save: string;
  messageTitle: string;
  messageDescription: string;
  sizeRotations: TSizeRotations;
  validateMessage: TValidateMessage;
  typeRotation: TTranslations;
  timeRotation: TTranslations;
  week: TTranslations;
  month: TTranslations;
};

enum RotationType {
  ZERO = '0',
  ONE = '1',
  TWO = '2',
}

export type TRotationSettingSubmit = {
  rotation_type: RotationType;
  size_rotation?: number;
  schedule?: {
    period?: string;
    time?: string;
    week_day?: string[];
    month?: string[];
  };
};

export type TypeRotationDeviceEndpointMessage = {
  sizeRotations: {
    title: string;
    subTitle: string;
  };
  day: {
    title: string;
    subTitle: string;
  };
  week: {
    title: string;
    subTitle: string;
  };
  month: {
    title: string;
    subTitle: string;
  };
  validateMessage: {
    sizeRotations: string;
  };
  typeRotation: {
    title: string;
    size: string;
    time: string;
  };
};
