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