interface ResponseObject {
  avatar: null | string;
  avatarName: null | string;
  birthDate: Date | null;
  bloodGroup: string | null;
  citizenId: string;
  createdAt: Date | null;
  createdFullName: string;
  createdUserId: string;
  dateRetire: Date | null;
  email: string | null;
  ethnicity: string | null;
  firstName: string;
  gender: string | null;
  id: string;
  isLeave: boolean;
  isProbation: boolean;
  keycloak: string | null;
  lastName: string;
  lastUpdateFullName: string;
  lastUpdateUserId: string;
  lastUpdatedAt: Date | null;
  nationality: string | null;
  phone: string | null;
  posLevel: PosLevel | null;
  posLevelId: string | null;
  posType: PosType | null;
  posTypeId: string | null;
  position: string | null;
  prefix: string;
  rank: string | null;
  relationship: string | null;
  religion: string | null;
  telephoneNumber: string | null;
  prefixMain: string;
  statusEmail: string;
}

interface Religion {
  id: string;
  createdAt: Date;
  lastUpdatedAt: Date;
  createdFullName: string;
  lastUpdateFullName: string;
  name: string;
}

interface Gender {
  id: string;
  createdAt: Date;
  lastUpdatedAt: Date;
  createdFullName: string;
  lastUpdateFullName: string;
  name: string;
}

interface Relationship {
  id: string;
  createdAt: Date;
  lastUpdatedAt: Date;
  createdFullName: string;
  lastUpdateFullName: string;
  name: string;
}

interface BloodGroup {
  id: string;
  createdAt: Date;
  lastUpdatedAt: Date;
  createdFullName: string;
  lastUpdateFullName: string;
  name: string;
}

interface PosLevel {
  id: string;
  createdAt: Date;
  createdUserId: string;
  lastUpdatedAt: Date;
  lastUpdateUserId: string;
  createdFullName: string;
  lastUpdateFullName: string;
  posLevelName: string;
  posLevelRank: number;
  posLevelAuthority: null;
  posTypeId: string;
}

interface PosType {
  id: string;
  createdAt: Date;
  createdUserId: string;
  lastUpdatedAt: Date;
  lastUpdateUserId: string;
  createdFullName: string;
  lastUpdateFullName: string;
  posTypeName: string;
  posTypeRank: number;
  posTypeShortName?: string;
}

export type {
  ResponseObject,
  Religion,
  Gender,
  Relationship,
  BloodGroup,
  PosLevel,
  PosType,
};
