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


export enum VatReturnTabKeys {
  List = 'List',
  VatReference = 'VatReference',
};
export interface VatReturnTabProps {
  activeTab: VatReturnTabKeys;
};
export enum VatReturnReceiptType {
  ALL = 'ALL',
  RECEIPT = 'RECEIPT',
  BILL = 'BILL '
};
export enum VatReturnPayTax {
  Tax = 'Tax',
  NoTax = 'NoTax'
};
export enum VatReturnTargetType {
  ALL = 'ALL',
  GENERAL = 'GENERAL',
  DIFFERENCE_COLLECTION = 'DIFFERENCE_COLLECTION',
  REFUND_SETTLEMENT = 'REFUND_SETTLEMENT',
};

export interface VatReturnListParams {
  mid: string;
  startDate?: string;
  endDate?: string;
  receiptType?: VatReturnReceiptType;
  targetType?: VatReturnTargetType;
  pagination?: DefaultRequestPagination;
};


export interface VatReturnListResponse extends DefaulResponsePagination {
  content: Array<VatReturnListContent>;
};

export interface VatReturnListContent {
  id?: number
  companyName?: string;
  mid?: string;
  issueDate?: string;
  paymentMethod?: string;
  amount?: number;
};

export interface ListDateGroupProps {
  date?: string;
  items?: Array<VatReturnListContent>
}
export interface ListItemProps {
  id?: number;
  companyName?: string;
  mid?: string;
  issueDate?: string;
  paymentMethod?: string;
  amount?: number;
}
export interface VatReturnDetailParams {
  taxInvoiceNumber?: string;
};

export interface VatReturnDetailResponse {
  id?: number;
  totalAmount?: number;
  supplyAmount?: number;
  vatAmount?: number;
  mid?: string;
  targetBusinessStartDate?: string;
  targetBusinessEndDate?: string;
  issueDate?: string;
  subject?: string;
  targetType?: VatReturnTargetType;
  receiptType?: VatReturnReceiptType;
  email?: string;
  receiverBusinessRegistrationNumber?: string;
  receiverCompanyName?:  string;
  receiverCeoName?: string;
  supplierBusinessRegistrationNumber?: string;
  supplierCompanyName?: string;
  supplierCeoName?: string;
};