import { Fermentable } from './fermentable.model'; import { Timestamp } from './misc'; import { Hop } from './hop.model'; import { Misc } from './misc.model'; import { Yeast } from './yeast.model'; import { Style } from './style.model'; export interface Recipe { _id: string; author: string; equipment: { name: string; }; name: string; type: string; sumDryHopPerLiter: number; fgEstimated: number; styleAbv: boolean; yeastToleranceExceededBy: number | null; path: string; avgWeightedHopstandTemp: number; ogPlato: number; diastaticPower: number; boilSize: number; preBoilGravity: number; styleIbu: boolean; fermentablesTotalAmount: number; efficiency: number; buGuRatio: number; totalGravity: number; hopStandMinutes: number; carbonation: number; carbonationStyle: { carbMin: number; carbMax: number; name: string; _id: string; }; tags: string | null; firstWortGravity: number | null; fermentableIbu: number; primaryTemp: number; fg: number; attenuation: number; color: number; styleRbr: boolean; hidden: boolean; searchTags: string[]; rbRatio: number; styleCarb: boolean; fgFormula: string; boilTime: number; extraGravity: number; styleOg: boolean; mashEfficiency: number; styleConformity: boolean; og: number; ibuFormula: string; styleBuGu: boolean; styleFg: boolean; postBoilGravity: number; abv: number; hopsTotalAmount: number; batchSize: number; ibu: number; styleColor: boolean; data: RecipeData; yeasts: Yeast[]; fermentables: Fermentable[]; equipement: Equipement; water: Water; nutrition: Nutrition; defaults: Units; miscs: Misc[]; fermentation: Fermentation; style: Style; mash: Mash; hops: Hop[]; _init: boolean; _version: string; _timestamp: Timestamp; _timestamp_ms: number; _rev: string; _ev: number; _type: 'recipe'; _created: Timestamp; } interface RecipeData { mashWaterAmount: number; otherFermentablesAmount: number; otherFermentables: any[]; mashFermentablesAmount: number; strikeTemp: null | number; mashFermentables: any[]; batchSpargeWaterAmount4: null | number; batchSpargeWaterAmount3: null | number; batchSpargeWaterAmount2: null | number; batchSpargeWaterAmount1: null | number; totalDiastaticPower: number; mashVolume: number; hopsAmount: number; hltWaterAmount: number; totalWaterAmount: number; topUpWater: number; spargeWaterAmount: number; mashVolumeSurplus: number; allDiastaticPower: boolean; } interface Equipement { waterCalculation: string; hidden: boolean; fermenterVolumeBeforeTopUp: number; efficiencyType: string; fermenterLossEstimate: number; hopstandTemperature: number; hopUtilization: number; grainAbsorptionRate: number; boilTime: number; waterGrainRatio: number; mashEfficiency: number; evaporationRate: number; mashTunDeadSpace: number; boilSize: number; mashWaterFormula: string; fermenterLoss: number; efficiency: number; spargeWaterOverflow: string; calcAromaHopUtilization: boolean; bottlingVolume: number; calcBoilVolume: boolean; aromaHopUtilization: number; boilOffPerHr: number; trubChillerLoss: number; postBoilKettleVol: number; spargeWaterFormula: string; mashTunLoss: number; name: string; fermenterVolume: number; _id: string; batchSize: number; calcMashEfficiency: boolean; } interface Water { diluted: null; settings: { sodiumBicarbonate: any[]; calciumSulfate: any[]; magnesiumSulfate: any[]; adjustSparge: boolean; calciumChloride: any[]; calciumHydroxide: any[]; }; mashWaterAmount: null; totalAdjustments: { ltDWB: number; sulfate: number; calcium: number; calciumCarbonate: number; magnesium: number; sodiumBicarbonate: number; calciumSulfate: number; volume: number; magnesiumSulfate: number; sodium: number; sodiumChloride: number; sodiumMetabisulfitePPM: number; ltAMS: number; magnesiumChloride: number; chloride: number; bicarbonate: number; calciumChloride: number; sodiumMetabisulfite: number; calciumHydroxide: number; }; spargeTargetDiff: null; spargeAcidPhAdjustment: number; sourceTargetDiff: null; mashTargetDiff: null; source: { residualAlkalinityMeqLCalc: number; sulfate: number; hidden: boolean; _rev: string; type: string; residualAlkalinity: number; chloride: number; bicarbonate: number; _version: string; _timestamp: any[]; anions: number; ionBalanceOff: boolean; cations: number; calcium: number; bicarbonateMeqL: number; magnesium: number; _timestamp_ms: number; alkalinity: number; sodium: number; hardness: number; _created: any[]; name: string; ph: number; soClRatio: number; ionBalance: number; _id: string; }; mashPh: number; mashPhDistilled: number; mashAdjustments: { ltDWB: number; sulfate: number; calcium: number; calciumCarbonate: number; magnesium: number; sodiumBicarbonate: null; calciumSulfate: null; magnesiumSulfate: null; volume: number; sodium: number; sodiumChloride: number; acids: any[]; sodiumMetabisulfitePPM: number; ltAMS: number; magnesiumChloride: number; chloride: number; bicarbonate: number; calciumChloride: null; sodiumMetabisulfite: number; calciumHydroxide: null; }; total: { residualAlkalinityMeqLCalc: number; sulfate: number; hidden: boolean; _rev: string; type: string; residualAlkalinity: number; chloride: number; bicarbonate: number; _timestamp: any[]; _version: string; anions: number; cations: number; ionBalanceOff: boolean; calcium: number; bicarbonateMeqL: number; magnesium: number; _timestamp_ms: number; alkalinity: number; sodium: number; hardness: number; _created: any[]; name: string; soClRatio: number; ph: number; ionBalance: number; _id: string; }; totalTargetDiff: null; meta: { equalSourceTotal: boolean; }; acidPhAdjustment: number; sparge: { residualAlkalinityMeqLCalc: number; sulfate: number; hidden: boolean; _rev: string; type: string; residualAlkalinity: number; chloride: number; bicarbonate: number; anions: number; _version: string; _timestamp: any[]; cations: number; ionBalanceOff: boolean; calcium: number; bicarbonateMeqL: number; magnesium: number; _timestamp_ms: number; alkalinity: number; hardness: number; sodium: number; _created: any[]; ph: number; name: string; soClRatio: number; ionBalance: number; _id: string; }; mash: { residualAlkalinityMeqLCalc: number; sulfate: number; hidden: boolean; _rev: string; type: string; residualAlkalinity: number; chloride: number; bicarbonate: number; _timestamp: any[]; anions: number; _version: string; ionBalanceOff: boolean; cations: number; calcium: number; bicarbonateMeqL: number; magnesium: number; _timestamp_ms: number; alkalinity: number; hardness: number; sodium: number; _created: any[]; name: string; soClRatio: number; ph: number; ionBalance: number; _id: string; }; spargeWaterAmount: null; dilutionPercentage: null; spargeAdjustments: { ltDWB: number; sulfate: number; calcium: number; calciumCarbonate: number; magnesium: number; sodiumBicarbonate: number; calciumSulfate: number; volume: number; magnesiumSulfate: number; sodium: number; sodiumChloride: number; acids: any[]; sodiumMetabisulfitePPM: number; ltAMS: number; magnesiumChloride: number; chloride: number; bicarbonate: number; sodiumMetabisulfite: number; calciumChloride: number; calciumHydroxide: number; }; enableSpargeAdjustments: boolean; } interface Nutrition { carbs: { total: number; }; calories: { alcohol: number; carbs: number; total: number; kJ: number; }; } interface Units { altitude: 'm'; temp: 'c'; attenuation: 'normal'; color: 'ebc'; hop: 'g'; weight: 'kg'; pressure: 'bar'; carbonation: 'vol'; volume: 'l'; abv: 'simple'; gravity: 'sg'; grainColor: 'default'; ibu: 'tinseth'; preferred: 'metric'; } interface Fermentation { steps: FermentationStep[]; name: string; _id: string; } interface FermentationStep { actualTime: number; displayPressure: number; displayStepTemp: number; presure: number; ramp: number; stepTemp: number; stepTime: number; type: string; } interface Mash { hidden: boolean; _rev: string; _timestamp_ms: number; steps: any[]; _created: Timestamp; name: string; _id: string; _version: string; _timestamp: Timestamp; } export {};