import { type ListFrontEndInterface } from './CommonType'

export interface GroupAndPartnerListInterface {
    groupAndPartnerList: GroupAndPartnerListDataTypeInterface[]
    groupAndPartnerListCount: number
    parentCategoryList: ListFrontEndInterface[]
}

export interface GroupAndPartnerListDataTypeInterface
    extends GroupAndPartnerFormDataInterface {
    key: React.Key
    isActive: string
    isDelete: string
}

export interface GroupAndPartnerFormDataInterface {
    clientCategoryName: string
    clientCategoryId: number
    addressOne: string
    addressTwo: string
    town: string
    country: string
    postCode: string
    mobileNumber: string
    workNumber: string
    homeNumber: string
    emailAddress: string
    alternativeEmailAddress: string
    businessLogoPath: string
    signaturePath: string
    parentCategoryId: number
    rubberStampLogo: string
    website: string
    documentFooterText: string
}

export interface GroupAndPartnerExpandViewStateInterface {
    parentCategoryList: ListFrontEndInterface[]
}

export interface GroupAndPartnerExpandViewInterface
    extends GroupAndPartnerExpandViewStateInterface {
    groupAndPartnerData: GroupAndPartnerListDataTypeInterface
}
export interface GroupAndPartnerFormStateInterface {
    countryList: ListFrontEndInterface[]
    parentCategoryList: ListFrontEndInterface[]
}

export interface GroupAndPartnerFormInterface
    extends GroupAndPartnerFormStateInterface {
    onSave: (
        data: GroupAndPartnerFormDataInterface,
        callBack: CallableFunction
    ) => void
    editData: GroupAndPartnerFormDataInterface
    isLoadingModal: boolean
}

export interface GroupAndPartnersPayloadInterface {
    data: GroupAndPartnerFormDataInterface[]
    noOfRecords: number
}
