export interface LoginParams {
  id: string;
  password: string;
};

export interface MenuGrantsItem {
  menuId: number;
  grant: number;
};
export interface LoginResponse {
  tokenType?: string;
  accessToken?: string;
  refreshToken?: string;
  accessTokenExpiresIn?: number;
  refreshTokenExpiresIn?: number;
  menuGrants?: Array<MenuGrantsItem>;
  // usrid?: string;
  clientAddressIP?: string;
  tempToken?: string,
  tempTokenExpiresIn?: number;
  available2FAMethod?: Array<string>;
  requires2FA?: boolean;
};
export interface UserInfo extends LoginResponse{

}
export interface UserParams {

};
export interface UserExistsUseridParams {
  usrId: string;
};
export interface UserExistsUseridResponse {
  exists: boolean;
};
export interface VerificationsItem {
  type: string;
  contact: string;
};
export interface UserCreateParams {
  userId: string;
  password: string;
  loginRange: string;
  verification: Array<VerificationsItem>
};
export interface UserData {
  usrid: string;
  mid: string;
  gid: string;
  aid: string;
  pw: string;
  authCd: string;
  status: string;
  regDt: string;
  memo: string;
  changeDt: string;
  failCnt: number;
  oldPw1: string;
  oldPw2: string;
  oldPw3: string;
  oldPw4: string;
  worker: string;
  loginCd: string;
  pwWorkIp: string;
  pwCheckYn: string;
  loginFailDt: string;
  loginFailTm: string;
  loginFailIp: string;
  desaYn: string;
  desaAccType: string;
  desaAccIp: string;
  desaProcType: string;
  desaFormat: string;
  desaSvcCl: string;
  emailAuth1: string;
  emailAuth2: string;
  emailAuth3: string;
  authDt: string;
  authTm: string;
  userAidGroupYn: string;
  userAidGroupId: string;
  subNm: string;
  subLevel: string;
  multiAccessYn: string;
};
export interface UserCreateResponse {
  user: UserData;
};  

