import { FetchStateAndError, FetchedState } from '../../../../commonStateTypes/common'; import { ZeniDate } from '../../../../zeniDayJS'; import { SetupViewLocalData } from '../../commonSetup/setupViewState'; export type TreasurySetupViewLocalData = SetupViewLocalData; export interface TreasurySetupViewState extends FetchedState { currentAllocation: { fetchStatus: FetchStateAndError; allocation?: Record; }; fundAllocationLocalData: FundAllocationOption; isAtomicAccountExists: boolean; isRefreshingViewInBackground: boolean; portfolioAllocationUpdateStatus: FetchStateAndError; treasuryFundsDetails: { fetchStatus: FetchStateAndError; fundAllocationOptions: FundAllocationOption[]; fundsDetails: FundData[]; }; treasuryTermsDetails?: { fetchStatus: FetchStateAndError; }; } export interface FundAllocationOption { allocation: Record; optionIndex: number; riskLevel: string; riskScore: number; } export interface FundData { asOfDate: ZeniDate; compositions: FundComposition[]; currencyCode: string; currencySymbol: string; description: string; expenseRatio: number; fundCode: string; fundCompanyName: string; fundName: string; fundSize: number; fundType: string; liquidityTimeline: string; maturity: number; riskRating: string; url: string; yield: number; } export interface FundComposition { investedIn: string; percentage: number; } export declare const liquidityTimelineCodeToValue: (code: string) => string; export declare function getTreasuryFundsMaximumYield(funds: FundData[]): number;