import { AcabimSite, LandBuildingInfo, LandTopoInfo } from '@cas-hub/acabim-common-client'; import { LandPropertyParcelInfo } from '@cas-hub/acabim-common-client/lib/_models/location.model'; export interface SubdivisionCalculationModel { agentFee?: { name: string; value: number; }; agentCommission?: number; averageFloorArea: number; boundarySetback?: number; buildingCoverageArea?: number; buildingCoverageRatio?: number; constructionCost?: number; constructionCostPerMetre?: number; expectedSalePrice?: number; floorAreaPerStorey?: number; impermeableArea?: number; impermeableAreaRatio?: number; landscapedArea?: number; landscapedAreaRatio?: number; numberOfStoreys: number; numberOfSubdivisions?: number; outdoorLivingArea?: number; outdoorLivingAreaCap?: number; primarySite?: DetailedSite; professionalFee?: number; propertyPurchasePrice?: number; propertyValueForSecondTier?: number; regionKey?: string; regionalDefaultProfessionalFee?: number; regionalProfessionalFee?: number; saleCommission?: number; secondTierFinancing?: number; secondTierInterest?: number; secondTierValue?: number; sectionCoordinates?: number[][][]; sectionPerimeter?: number; sectionPurchasePrice?: number; sectionSize?: number; selectedSites?: string[]; selectedSiteObjects?: DetailedSite[]; squareMetreCost?: number; totalFloorArea?: number; zoneKey?: string; zoneValue?: string; cap?: ComplianceParameter; linz?: LinzData; siteCoordinates?: number[][]; subDivisionParams?: SubDivNumberParams; financialParams?: SubDivFinancialParams; } export interface ComplianceParameter { landscapedAreaRatio: number; impermeableAreaRatio: number; rearClearance: number; sideClearance: number; frontClearance: number; outdoorLivingArea: number; buildingCoverageRatio: number; buildingsPerSite: number; lrmlRuleId1: string; lrmlRuleId2: string; maxParkingRate: number; zone: string; } export interface LinzData { property?: LandPropertyParcelInfo; building?: LandBuildingInfo; topography?: LandTopoInfo; } export interface AuditResultData { readonly name: string; result: any; } export interface DetailedSite extends LinzData { core: AcabimSite; } export interface RegionParameters { squareMetreCost: number; constructionCost: number; professionalFee: number; defaultProfessionalFee?: number; } export interface SubDivNumberParams { averageFloorArea: number; boundarySetback: number; boundarySetbackAdj: number; buildingCoverageArea: number; capBuildingCoverageRatio: number; capLandscapedAreaRatio: number; effectiveLotArea: number; effectiveSiteArea: number; effectivePerimeter: number; landscapedArea: number; numberOfSubdivisions1: number; numberOfSubdivisions2: number; numberOfSubdivisionsFinal: number; outdoorLivingArea: number; sectionPerimeter: number; siteArea: number; } export interface SubDivFinancialParams { agentFeeValue: number; constructionCost: number; expectedSalePrice: number; numberOfSubdivisions: number; professionalFee: number; regionalDefaultProfessionalFee: number; regionalProfessionalFee: number; saleCommission: number; secondTierFinancing: number; secondTierInterest: number; secondTierValue: number; sectionPurchasePrice: number; sectionSize: number; squareMetreCost: number; }