@mazaventures/valentine
Version:
Toolkit for Venture Capital firms to run their back office efficiently and openly
198 lines • 6.12 kB
TypeScript
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