import { DefaulResponsePagination, DefaultRequestPagination } from '@/entities/common/model/types';

export interface ExtensionPayoutRequestParams {
  mid: string;
  submallId: string;
  disbursementAmount: number;
  settlementDate: string;
};
export interface ExtensionPayoutRequestResponse {};
export enum PayoutSearchCl {
  REQUEST_DATE = 'REQUEST_DATE',
  PROXY_DATE = 'PROXY_DATE',
};
export enum PayoutDisbursementStatus {
  ALL = 'ALL',
  REQUEST = 'REQUEST',
  SUCCESS = 'SUCCESS',
  FAIL = 'FAIL',
};
export interface ExtensionPayoutListParams {
  mid: string;
  searchCl: PayoutSearchCl,
  fromDate: string;
  toDate: string;
  disbursementStatus: PayoutDisbursementStatus;
  minAmount?: number;
  maxAmount?: number;
  page?: DefaultRequestPagination;
};
export interface ExtensionPayoutListResponse extends DefaulResponsePagination{
  content: Array<PayoutContent>
};
export interface PayoutContent {
  tid?: string;
  submallId?: string;
  requestDate?: string;
  settlementDate?: string;
  companyName?: string;
  disbursementStatus?: PayoutDisbursementStatus;
  disbursementAmount?: number;
};
export interface ExtensionPayoutExcelParams extends ExtensionPayoutListParams {};

export interface ExtensionPayoutExcelResponse {}

export interface ExtensionPayoutDetailParams {
  mid: string;
  tid: string;
};
export interface ExtensionPayoutDetailResponse {
  tid: string;
  disbursementAmount: number;
  disbursementStatus: PayoutDisbursementStatus;
  transTypeName: string;
  requestDate: string;
  settlementDate: string;
  companyName: string;
  companyNo: string;
  accountName: string;
  bankName: string;
  accountNo: string;
  depositName: string;
  failReason: string;
};
export interface ExtensionPayoutDetailDownloadCertificateParams extends ExtensionPayoutDetailParams {};

export interface ExtensionPayoutDetailDownloadCertificateResponse {};
