import { CompanyPayload } from '../../../../entity/company/companyPayload'; import { UserPayload } from '../../../../entity/user/userPayload'; import { UserRolePayload } from '../../../../entity/userRole/userRolePayload'; import { ZeniAPIResponse } from '../../../../responsePayload'; import { EnableSetupViewPayload, SetupViewPayload } from '../../commonSetup/setupViewPayload'; interface AcceptTreasuryTermsPayload { companies: CompanyPayload[]; user_roles: UserRolePayload[]; users: UserPayload[]; } export type AcceptTreasuryTermsResponse = ZeniAPIResponse; export type EnableTreasurySetupViewPayload = EnableSetupViewPayload; type TreasurySetupViewPayload = SetupViewPayload; export type TreasurySetupViewResponse = ZeniAPIResponse; export interface TreasuryFundsPayload { allocation_percentage_to_risk: AllocationPercentageToRiskPayload[]; funds: TreasuryFundPayload[]; } interface TreasuryFundPayload { as_of_date: string; compositions: FundCompositionPayload[]; currency_code: string; currency_symbol: string; description: string; expense_ratio: number; fund_code: string; fund_company_name: string; fund_name: string; fund_size: number; fund_type: string; liquidity_timeline: string; maturity: number; percentage_yield: number; risk_rating: string; url: string; } interface FundCompositionPayload { invested_in: string; percentage: number; } interface AllocationPercentageToRiskPayload { allocation: Record; risk_level: string; risk_score: number; } export type FetchTreasuryFundsResponse = ZeniAPIResponse; export interface UpdatePortfolioAllocationPayload { custom_corporate_id: string | null; fund_allocation_percentages: Record; } export type UpdatePortfolioAllocationResponse = ZeniAPIResponse; export interface FetchPortfolioAllocationPayload { allocation_percentages: Record; custom_corporate_id: string | null; } export type FetchPortfolioAllocationResponse = ZeniAPIResponse; export {};