import { CONTRACT_INTERFACES as CI } from '../..';
export interface IPortfolioViewEntry {
    reference: string;
    pricing: CI.ITradeIdeaPricing;
    price: CI.IPrice;
    notes: string;
    title?: string;
    asset: {
        ticker: string;
        description?: string;
        image?: CI.ITradeIdeaImage;
        alternativeProviderSymbols?: CI.ITradeIdeaIdeaAlternativeProviderSymbol[];
    };
    direction?: 'long' | 'short';
    allocation: number;
}
export interface IPortfolioView {
    strategyKey: string;
    totalEntries: number;
    totalAllocation: number;
    entries: IPortfolioViewEntry[];
}
export interface IPortfolioRebalanceAssetOpaque {
    ticker?: string;
    allocation?: number;
    lastIdea: CI.ITradeIdea;
    prevIdeas?: CI.ITradeIdea[];
}
export interface IPortfolioRebalanceAsset extends IPortfolioRebalanceAssetOpaque {
    ticker: string;
    allocation: number;
    lastIdea: CI.ITradeIdea;
    prevIdeas: CI.ITradeIdea[];
}
export interface IPortfolioRebalanceOpaque {
    strategyKey: string;
    reference: string;
    totalAssets: number;
    totalAllocation?: number;
    assets: IPortfolioRebalanceAssetOpaque[];
}
export interface IPortfolioRebalance extends IPortfolioRebalanceOpaque {
    strategyKey: string;
    reference: string;
    totalAssets: number;
    totalAllocation: number;
    assets: IPortfolioRebalanceAsset[];
}
