@parcl-finance/product-sdk
Version:
TypeScript SDK for interacting with Parcl's product APIs
105 lines • 3.61 kB
TypeScript
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