import type { CountryCode } from '../../../types/datasets/country-code';
import type { SalesChannel } from '../../../components/BusinessLines/fields/SalesChannels/types';
import type { OriginatorTypeUnion } from '../../../components/EFP/tasks/SourceOfFundsDropin/types';
export interface BusinessLinesType {
    id?: string;
    industryCode: string;
    legalEntityId: string;
    service: BusinessLinesServiceType;
    sourceOfFunds?: SourceOfFundsType;
    webData?: BusinessLinesWebDataType[];
    webDataExemption?: {
        reason?: 'noOnlinePresence' | 'notCollectedDuringOnboarding' | undefined;
    };
    salesChannels?: SalesChannel[];
}
export interface SourceOfFundsType {
    type?: SourceOfFundsCategoryType | 'adyen';
    adyenProcessedFunds: boolean;
    description?: string;
    dateOfFundsReceived?: string;
    purpose?: string;
    relationship?: string;
    originatorLegalEntityId?: string;
    amount?: SourceOfFundsAmount;
    cryptocurrencyExchange?: string;
    dateOfSourceEvent?: string;
    website?: string;
    financiers?: SourceOfFundsFinancierType[];
    legalName?: string;
    country?: CountryCode;
    firstName?: string;
    lastName?: string;
    originatorType?: OriginatorTypeUnion;
}
export interface SourceOfFundsPayloadType extends Omit<SourceOfFundsType, 'legalName' | 'country' | 'firstName' | 'lastName' | 'originatorType'> {
    adyenProcessedFunds: boolean;
}
export interface SourceOfFundsAmount {
    currency?: string;
    value?: number;
}
export interface SourceOfFundsFinancierType {
    firstName: string;
    lastName: string;
    amount: SourceOfFundsAmount;
    location: string;
}
export interface BusinessLinesWebDataType {
    webAddress?: string;
    webAddressId?: string;
}
export type BusinessLinesServiceType = 'banking' | 'issuing' | 'paymentProcessing';
export type SourceOfFundsCategoryType = 'business' | 'employment' | 'donations' | 'inheritance' | 'financialAid' | 'rentalIncome' | 'dividendIncome' | 'royaltyIncome' | 'thirdPartyFunding' | 'pensionIncome' | 'insuranceSettlement' | 'cryptocurrencyIncome' | 'assetSale' | 'loans' | 'gamblingWinnings';
