UNPKG

@parcl-finance/product-sdk

Version:

TypeScript SDK for interacting with Parcl's product APIs

105 lines 3.61 kB
import { DealAnalysis, DealAnalysisParams, Env } from "./types"; /** * DealAnalysis class provides methods to analyze real estate investment deals * comparing Parcl synthetic exposure vs physical real estate ownership */ export declare class DealAnalysisClient { private headers; private expressClient; constructor(env?: Env, accessToken?: string); /** * Analyzes a real estate investment deal comparing Parcl vs physical ownership * * @param params - Deal analysis parameters * @param params.symbol - Market symbol (e.g., "NYC", "LA", "SF") * @param params.timeframe - Analysis timeframe ("1m" | "3m" | "6m" | "1y"), defaults to "6m" * @param params.dealsize - Deal size in square feet * @param params.leverage - Leverage ratio (e.g., 5 for 5:1 leverage) * @returns Promise<DealAnalysis> - Comprehensive deal analysis comparing Parcl vs physical * * @example * ```typescript * const analysis = await sdk.dealAnalysis.analyzeDeal({ * symbol: "NYC", * timeframe: "6m", * dealsize: 1000, * leverage: 5 * }); * * console.log(`Parcl net return: ${analysis.netReturn.parclPercentage}%`); * console.log(`Physical net return: ${analysis.netReturn.physicalPercentage}%`); * ``` */ analyzeDeal(params: DealAnalysisParams): Promise<DealAnalysis>; /** * Analyzes multiple deals for comparison * * @param deals - Array of deal parameters to analyze * @returns Promise<DealAnalysis[]> - Array of deal analyses * * @example * ```typescript * const analyses = await sdk.dealAnalysis.analyzeMultipleDeals([ * { symbol: "NYC", dealsize: 1000, leverage: 5 }, * { symbol: "LA", dealsize: 1000, leverage: 5 }, * { symbol: "SF", dealsize: 1000, leverage: 5 } * ]); * * analyses.forEach((analysis, index) => { * console.log(`Deal ${index + 1} Parcl ROI: ${analysis.netReturn.parclPercentage}%`); * }); * ``` */ analyzeMultipleDeals(deals: DealAnalysisParams[]): Promise<DealAnalysis[]>; /** * Compares Parcl vs physical performance for a specific deal * * @param params - Deal analysis parameters * @returns Promise<{ parclAdvantage: number; recommendation: string; analysis: DealAnalysis }> * * @example * ```typescript * const comparison = await sdk.dealAnalysis.compareParclVsPhysical({ * symbol: "NYC", * dealsize: 1000, * leverage: 5 * }); * * console.log(comparison.recommendation); * console.log(`Parcl advantage: ${comparison.parclAdvantage}%`); * ``` */ compareParclVsPhysical(params: DealAnalysisParams): Promise<{ parclAdvantage: number; recommendation: string; analysis: DealAnalysis; }>; /** * Gets a summary of key metrics for a deal analysis * * @param params - Deal analysis parameters * @returns Promise<DealSummary> - Key metrics summary */ getDealSummary(params: DealAnalysisParams): Promise<DealSummary>; } export interface DealSummary { symbol: string; dealSize: number; dealValue: number; timeframe: string; leverage: number; parclNetReturn: { percentage: number; dollars: number; }; physicalNetReturn: { percentage: number; dollars: number; }; parclCashFlow: number; physicalCashFlow: number; parclTotalCosts: number; physicalTotalCosts: number; costSavings: number; } //# sourceMappingURL=dealAnalysis.d.ts.map