UNPKG

@mazaventures/valentine

Version:

Toolkit for Venture Capital firms to run their back office efficiently and openly

198 lines 6.12 kB
import { z } from 'zod'; export declare const CompanySchema: z.ZodObject<{ id: z.ZodString; name: z.ZodString; description: z.ZodOptional<z.ZodString>; sector: z.ZodString; stage: z.ZodEnum<["SEED", "SERIES_A", "SERIES_B", "SERIES_C", "SERIES_D", "GROWTH", "PRE_IPO"]>; founded: z.ZodDate; website: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { id: string; name: string; sector: string; stage: "SEED" | "SERIES_A" | "SERIES_B" | "SERIES_C" | "SERIES_D" | "GROWTH" | "PRE_IPO"; founded: Date; description?: string | undefined; website?: string | undefined; }, { id: string; name: string; sector: string; stage: "SEED" | "SERIES_A" | "SERIES_B" | "SERIES_C" | "SERIES_D" | "GROWTH" | "PRE_IPO"; founded: Date; description?: string | undefined; website?: string | undefined; }>; export type Company = z.infer<typeof CompanySchema>; export declare const InvestmentSchema: z.ZodObject<{ id: z.ZodString; companyId: z.ZodString; amount: z.ZodNumber; currency: z.ZodString; date: z.ZodDate; round: z.ZodString; ownership: z.ZodNumber; valuation: z.ZodNumber; type: z.ZodEnum<["PRIMARY", "SECONDARY", "CONVERTIBLE_NOTE", "SAFE"]>; terms: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; }, "strip", z.ZodTypeAny, { id: string; type: "PRIMARY" | "SECONDARY" | "CONVERTIBLE_NOTE" | "SAFE"; date: Date; companyId: string; amount: number; currency: string; round: string; ownership: number; valuation: number; terms?: Record<string, string> | undefined; }, { id: string; type: "PRIMARY" | "SECONDARY" | "CONVERTIBLE_NOTE" | "SAFE"; date: Date; companyId: string; amount: number; currency: string; round: string; ownership: number; valuation: number; terms?: Record<string, string> | undefined; }>; export type Investment = z.infer<typeof InvestmentSchema>; export declare const MetricSchema: z.ZodObject<{ name: z.ZodString; value: z.ZodUnion<[z.ZodString, z.ZodNumber]>; date: z.ZodDate; }, "strip", z.ZodTypeAny, { name: string; value: string | number; date: Date; }, { name: string; value: string | number; date: Date; }>; export type Metric = z.infer<typeof MetricSchema>; export declare const UpdateSchema: z.ZodObject<{ id: z.ZodString; companyId: z.ZodString; date: z.ZodDate; type: z.ZodEnum<["MONTHLY", "QUARTERLY", "ANNUAL", "ADHOC"]>; metrics: z.ZodArray<z.ZodObject<{ name: z.ZodString; value: z.ZodUnion<[z.ZodString, z.ZodNumber]>; date: z.ZodDate; }, "strip", z.ZodTypeAny, { name: string; value: string | number; date: Date; }, { name: string; value: string | number; date: Date; }>, "many">; notes: z.ZodOptional<z.ZodString>; attachments: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; }, "strip", z.ZodTypeAny, { id: string; type: "MONTHLY" | "QUARTERLY" | "ANNUAL" | "ADHOC"; date: Date; companyId: string; metrics: { name: string; value: string | number; date: Date; }[]; notes?: string | undefined; attachments?: string[] | undefined; }, { id: string; type: "MONTHLY" | "QUARTERLY" | "ANNUAL" | "ADHOC"; date: Date; companyId: string; metrics: { name: string; value: string | number; date: Date; }[]; notes?: string | undefined; attachments?: string[] | undefined; }>; export type Update = z.infer<typeof UpdateSchema>; export declare const FundSchema: z.ZodObject<{ id: z.ZodString; name: z.ZodString; vintage: z.ZodNumber; size: z.ZodNumber; currency: z.ZodString; status: z.ZodEnum<["RAISING", "INVESTING", "FULLY_INVESTED", "HARVESTING"]>; strategy: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { id: string; name: string; status: "RAISING" | "INVESTING" | "FULLY_INVESTED" | "HARVESTING"; currency: string; vintage: number; size: number; strategy?: string | undefined; }, { id: string; name: string; status: "RAISING" | "INVESTING" | "FULLY_INVESTED" | "HARVESTING"; currency: string; vintage: number; size: number; strategy?: string | undefined; }>; export type Fund = z.infer<typeof FundSchema>; export declare const ValuationMethodSchema: z.ZodEnum<["LAST_ROUND", "MARK_TO_MARKET", "COMPARABLE_COMPANIES", "DCF", "WRITE_OFF"]>; export declare const NAVCalculationSchema: z.ZodObject<{ id: z.ZodString; fundId: z.ZodString; date: z.ZodDate; totalValue: z.ZodNumber; currency: z.ZodString; holdings: z.ZodArray<z.ZodObject<{ companyId: z.ZodString; value: z.ZodNumber; method: z.ZodEnum<["LAST_ROUND", "MARK_TO_MARKET", "COMPARABLE_COMPANIES", "DCF", "WRITE_OFF"]>; notes: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { value: number; companyId: string; method: "LAST_ROUND" | "MARK_TO_MARKET" | "COMPARABLE_COMPANIES" | "DCF" | "WRITE_OFF"; notes?: string | undefined; }, { value: number; companyId: string; method: "LAST_ROUND" | "MARK_TO_MARKET" | "COMPARABLE_COMPANIES" | "DCF" | "WRITE_OFF"; notes?: string | undefined; }>, "many">; }, "strip", z.ZodTypeAny, { id: string; date: Date; currency: string; fundId: string; totalValue: number; holdings: { value: number; companyId: string; method: "LAST_ROUND" | "MARK_TO_MARKET" | "COMPARABLE_COMPANIES" | "DCF" | "WRITE_OFF"; notes?: string | undefined; }[]; }, { id: string; date: Date; currency: string; fundId: string; totalValue: number; holdings: { value: number; companyId: string; method: "LAST_ROUND" | "MARK_TO_MARKET" | "COMPARABLE_COMPANIES" | "DCF" | "WRITE_OFF"; notes?: string | undefined; }[]; }>; export type NAVCalculation = z.infer<typeof NAVCalculationSchema>; //# sourceMappingURL=types.d.ts.map