import { type ListFrontEndInterface } from '../../CommonType'

export interface onboardingPartnershiplListDataTypeInterface
    extends onboardingPartnershipFormDataInterface {
    key: React.Key
}

export interface onboardingPartnershipFormDataInterface {
    partnershipId: string
    name: string
    contactName: string
    tradingName: string
    partnershipUTR: string
    clientNumber: string
    activestatus: string
    serviceIds: string
    mobilenumber: string
    emailAddress: string
    alternativeEmailAddress: string
    defaultUser: string
    defaultAssigneeUser: string
}

export interface onboardingPartnershipListStateInterface {
    onboardingpartnerList: onboardingPartnershiplListDataTypeInterface[]
    onboardingpartnerListCount: number
    serviceId: number
}

export interface onboardingPartnershipPayloadInteface {
    data: onboardingPartnershipFormDataInterface[]
    noOfRecords: number
}

export interface onboardingPartnershipListInterface {
    onboardingpartnerList: onboardingPartnershiplListDataTypeInterface[]
    onboardingpartnerListCount: number
    selectedCategoryId: number
    selectedServiceId: number
}

export interface onboardingPartnershipExpandViewInterface {
    PartnershipData: onboardingPartnershiplListDataTypeInterface
}
export interface onboardingPartnershipChatStateInterface {
    userList: ListFrontEndInterface[]
}
export interface onboardingPartnershipChatProps
    extends onboardingPartnershipChatStateInterface {
    partnershipId: number
}
export interface onboardingPartnershipChatInterface {
    partnershipId: string
    ReferernceId: number
    Description: string
    userIds: number[]
    BusinessTypeId: number
    IsClientCommunication: number
}
export interface onboardingPartnershipFormInterface {
    clientDropDownList: ListFrontEndInterface[]
    categoryDropDownList: ListFrontEndInterface[]
    countryList: ListFrontEndInterface[]
}
export interface onboardingPartnershipNewStateInterface {
    clientDropDownList: ListFrontEndInterface[]
}

export interface PartnershipCreateTaskStateInterface {
    serviceDropDownList: ListFrontEndInterface[]
    userList: ListFrontEndInterface[]
    priorityDropDownList: ListFrontEndInterface[]
}

export interface onboardingPartnershipCreateTaskInterface {
    serviceDropDownList: ListFrontEndInterface[]
    userList: ListFrontEndInterface[]
    priorityDropDownList: ListFrontEndInterface[]
    onClose: () => void
}
export interface onboardingPartneshipData {
    businessTradingName: string
    contactName: string
    clientnumber: string
    clientType: string
}

export interface onboardingPartneshipTaps {
    partnershipInitialDetails?: {
        partnershipId?: number
        clientNumber?: number
        clientCategoryName?: string
        tradingName?: string
        dateOfTermSigned?: string
        partnershipUTR?: string
        clientCategoryId?: number
    }
    businessAddress?: {
        busaddress1?: string
        busaddress2?: string
        bustown?: string
        buscountry?: string
        buspostcode?: string
    }
    correspondanceAddress?: {
        corraddress1?: string
        corraddress2?: string
        corrtown?: string
        corrcountry?: string
        corrpostcode?: string
    }
}
export interface onboardingPartneshipInitialDetailsInterface {
    categoryDropDownList: ListFrontEndInterface[]
    partneshipTaps: onboardingPartneshipTaps
    // onDateChange: (dateString: string) => void
    onCategorySelect: (id: number) => void
}

export interface onboardingPartneshipHomeApi {
    partnershipId: number
    clientCategoryId: number
    clientNumber: string
    tradingName: string
    partnershipUTR: string
    busAddressOne: string
    busAddressTwo: string
    busTown: string
    busCountry: string
    busPostCode: string
    corrAddressOne: string
    corrAddressTwo: string
    corrTown: string
    corrCountry: string
    corrPostCode: string
    isActive: string
    isDelete: string
}
