export enum MerchantTabKeys {
  Info = 'Info',
  RegistrationStatus = 'RegistrationStatus',
};
export interface MerchantTabProps {
  activeTab: MerchantTabKeys;
};
export enum ContractStatus {
  RECEPTION_COMPLETED = 'RECEPTION_COMPLETED',
  RECEPTION_INCOMPLETE = 'RECEPTION_INCOMPLETE',
};
export enum CardAuditStatus {
  REQUEST_COMPLETED = 'REQUEST_COMPLETED',
  SUPPLEMENT_REQUIRED = 'SUPPLEMENT_REQUIRED'
};
export enum UsageStatus {
  AVAILABLE = 'AVAILABLE',
  SUSPENDED = 'SUSPENDED'
};
export enum InitialRegistrationFeeStatus {
  EXEMPT = 'EXEMPT',
  NOT_REGISTERED = 'NOT_REGISTERED',
  UNPAID = 'UNPAID',
  PAID = 'PAID',
};
export enum GuaranteeInsuranceFeeStatus {
  EXEMPT = 'EXEMPT',
  NOT_REGISTERED = 'NOT_REGISTERED',
  UNPAID = 'UNPAID',
  PAID = 'PAID',
};
export enum CardCompanyName {
  BC = 'BC',
  KOOKMIN = 'KOOKMIN',
  HANA = 'HANA',
  SAMSUNG = 'SAMSUNG',
  SHINHAN = 'SHINHAN',
  HYUNDAI = 'HYUNDAI',
  LOTTE = 'LOTTE',
  NH = 'NH',
  WOORI = 'WOORI'
};
export enum EscrowStatus {
  ACTIVE = 'ACTIVE',
  INACTIVE = 'INACTIVE'
};
export enum SectionKeys {
  Merchant = 'Merchant',
  Technical = 'Technical',
  Settlement = 'Settlement',
  Online = 'Online',
  Offline = 'Offline',
  Card = 'Card',
  Escrow = 'Escrow'
};
export interface MerchantMidParams {
  mid: string;
};
export interface MerchantMidResponse {
  memberCompanyId?: string;
  businessCompanyName?: string;
  businessRegistrationNumber?: string;
  businessScaleTypeName?: string;
  businessType?: string;
  businessCategory?: string;
  representativeName?: string;
  telephoneNumber?: string;
  email?: string;
  businessAddress?: string;
  url?: string;
  merchantManager?: string;
  merchantManagerTelephone?: string;
  merchantManagerEmail?: string;
  technicalManager?: string;
  technicalManagerTelephone?: string;
  technicalManagerEmail?: string;
  settlementManager?: string;
  settlementManagerTelephone?: string;
  settlementManagerEmail?: string;
  bankName?: string;
  accountNumber?: string;
  accountHolderName?: string;
};
export interface MerchantMidStatusParams {
  mid: string;
};
export interface MerchantMidStatusResponse {
  onlineInfomation: OnlineInfomation;
  offlineInfomation: OfflineInfomation;
  cardApplications: Array<CardApplications>;
  escrow: Escrow;
};
export interface OnlineInfomation {
  registrationDate: string;
  businessRegistrationNumber: string;
  companyName: string;
  contractStatus: ContractStatus;
  cardAuditStatus: CardAuditStatus;
  insuranceAmount: string;
  insuranceExpiryDate: string;
  usageStatus: UsageStatus;
};
export interface OfflineInfomation {
  registrationDate: string;
  contractDocumentCount: number;
  initialRegistrationFeeStatus: InitialRegistrationFeeStatus;
  initialRegistrationFeeAmount: string;
  guaranteeInsuranceFeeStatus: GuaranteeInsuranceFeeStatus;
  guaranteeInsuranceFeeAmount: string;
};
export interface CardApplications {
  cardCompanyName: CardCompanyName;
  partnerServiceName: string;
  statusName: string;
};
export interface Escrow {
  companyName?: string;
  businessRegistrationNumber?: string;
  escrowStatus?: EscrowStatus,
  address?: string;
  merchantUrl?: string;
  serviceRegistrationNumber?: string;
};