UNPKG

@gg-world/deals

Version:

Zod schemas and TypeScript types for deal-related data structures

1,407 lines (1,406 loc) 49.5 kB
import { z } from "zod"; export declare const InvestorCriteriaSchema: z.ZodNullable<z.ZodObject<{ business_model: z.ZodNullable<z.ZodArray<z.ZodString, "many">>; verticals: z.ZodNullable<z.ZodArray<z.ZodString, "many">>; focus_geography: z.ZodNullable<z.ZodArray<z.ZodString, "many">>; minorities: z.ZodNullable<z.ZodArray<z.ZodString, "many">>; rounds: z.ZodNullable<z.ZodArray<z.ZodString, "many">>; }, "strip", z.ZodTypeAny, { business_model: string[] | null; verticals: string[] | null; minorities: string[] | null; focus_geography: string[] | null; rounds: string[] | null; }, { business_model: string[] | null; verticals: string[] | null; minorities: string[] | null; focus_geography: string[] | null; rounds: string[] | null; }>>; export declare const InvestmentSizeSchema: z.ZodNullable<z.ZodObject<{ min: z.ZodNullable<z.ZodNumber>; max: z.ZodNullable<z.ZodNumber>; }, "strip", z.ZodTypeAny, { min: number | null; max: number | null; }, { min: number | null; max: number | null; }>>; export declare const InvestorProfileSchema: z.ZodNullable<z.ZodObject<{ company: z.ZodNullable<z.ZodString>; fund_type: z.ZodNullable<z.ZodString>; fund_location: z.ZodNullable<z.ZodObject<{ fund_country: z.ZodNullable<z.ZodString>; fund_city: z.ZodNullable<z.ZodString>; }, "strip", z.ZodTypeAny, { fund_country: string | null; fund_city: string | null; }, { fund_country: string | null; fund_city: string | null; }>>; investment_focus: z.ZodNullable<z.ZodObject<{ investment_stage: z.ZodNullable<z.ZodArray<z.ZodString, "many">>; check_size: z.ZodObject<{ min: z.ZodNullable<z.ZodNumber>; max: z.ZodNullable<z.ZodNumber>; }, "strip", z.ZodTypeAny, { min: number | null; max: number | null; }, { min: number | null; max: number | null; }>; round_size: z.ZodObject<{ min: z.ZodNullable<z.ZodNumber>; max: z.ZodNullable<z.ZodNumber>; }, "strip", z.ZodTypeAny, { min: number | null; max: number | null; }, { min: number | null; max: number | null; }>; pre_money_valuation: z.ZodNullable<z.ZodNumber>; post_money_valuation: z.ZodNullable<z.ZodNumber>; }, "strip", z.ZodTypeAny, { investment_stage: string[] | null; round_size: { min: number | null; max: number | null; }; pre_money_valuation: number | null; post_money_valuation: number | null; check_size: { min: number | null; max: number | null; }; }, { investment_stage: string[] | null; round_size: { min: number | null; max: number | null; }; pre_money_valuation: number | null; post_money_valuation: number | null; check_size: { min: number | null; max: number | null; }; }>>; traction: z.ZodNullable<z.ZodObject<{ revenue: z.ZodObject<{ min: z.ZodNullable<z.ZodNumber>; max: z.ZodNullable<z.ZodNumber>; }, "strip", z.ZodTypeAny, { min: number | null; max: number | null; }, { min: number | null; max: number | null; }>; MRR: z.ZodObject<{ min: z.ZodNullable<z.ZodNumber>; max: z.ZodNullable<z.ZodNumber>; }, "strip", z.ZodTypeAny, { min: number | null; max: number | null; }, { min: number | null; max: number | null; }>; ARR: z.ZodObject<{ min: z.ZodNullable<z.ZodNumber>; max: z.ZodNullable<z.ZodNumber>; }, "strip", z.ZodTypeAny, { min: number | null; max: number | null; }, { min: number | null; max: number | null; }>; percent_growth: z.ZodObject<{ min: z.ZodNullable<z.ZodNumber>; max: z.ZodNullable<z.ZodNumber>; }, "strip", z.ZodTypeAny, { min: number | null; max: number | null; }, { min: number | null; max: number | null; }>; }, "strip", z.ZodTypeAny, { revenue: { min: number | null; max: number | null; }; MRR: { min: number | null; max: number | null; }; ARR: { min: number | null; max: number | null; }; percent_growth: { min: number | null; max: number | null; }; }, { revenue: { min: number | null; max: number | null; }; MRR: { min: number | null; max: number | null; }; ARR: { min: number | null; max: number | null; }; percent_growth: { min: number | null; max: number | null; }; }>>; focus_geography_sales: z.ZodNullable<z.ZodArray<z.ZodString, "many">>; business_model: z.ZodNullable<z.ZodArray<z.ZodString, "many">>; verticals: z.ZodNullable<z.ZodArray<z.ZodString, "many">>; minorities: z.ZodNullable<z.ZodArray<z.ZodString, "many">>; startup_headquarters: z.ZodNullable<z.ZodArray<z.ZodString, "many">>; team: z.ZodNullable<z.ZodObject<{ team_size: z.ZodObject<{ min: z.ZodNullable<z.ZodNumber>; max: z.ZodNullable<z.ZodNumber>; }, "strip", z.ZodTypeAny, { min: number | null; max: number | null; }, { min: number | null; max: number | null; }>; skills_focus: z.ZodNullable<z.ZodArray<z.ZodString, "many">>; education_background: z.ZodNullable<z.ZodArray<z.ZodString, "many">>; }, "strip", z.ZodTypeAny, { team_size: { min: number | null; max: number | null; }; skills_focus: string[] | null; education_background: string[] | null; }, { team_size: { min: number | null; max: number | null; }; skills_focus: string[] | null; education_background: string[] | null; }>>; additional_details: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodAny>>; key_metrics: z.ZodNullable<z.ZodArray<z.ZodObject<{ metric: z.ZodString; description: z.ZodString; weight: z.ZodDefault<z.ZodNumber>; deal_breaker: z.ZodDefault<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { description: string; weight: number; deal_breaker: boolean; metric: string; }, { description: string; metric: string; weight?: number | undefined; deal_breaker?: boolean | undefined; }>, "many">>; deal_questions: z.ZodNullable<z.ZodArray<z.ZodObject<{ title: z.ZodString; description: z.ZodString; }, "strip", z.ZodTypeAny, { title: string; description: string; }, { title: string; description: string; }>, "many">>; }, "strip", z.ZodTypeAny, { startup_headquarters: string[] | null; key_metrics: { description: string; weight: number; deal_breaker: boolean; metric: string; }[] | null; focus_geography_sales: string[] | null; business_model: string[] | null; verticals: string[] | null; minorities: string[] | null; company: string | null; team: { team_size: { min: number | null; max: number | null; }; skills_focus: string[] | null; education_background: string[] | null; } | null; traction: { revenue: { min: number | null; max: number | null; }; MRR: { min: number | null; max: number | null; }; ARR: { min: number | null; max: number | null; }; percent_growth: { min: number | null; max: number | null; }; } | null; additional_details: Record<string, any> | null; fund_type: string | null; fund_location: { fund_country: string | null; fund_city: string | null; } | null; investment_focus: { investment_stage: string[] | null; round_size: { min: number | null; max: number | null; }; pre_money_valuation: number | null; post_money_valuation: number | null; check_size: { min: number | null; max: number | null; }; } | null; deal_questions: { title: string; description: string; }[] | null; }, { startup_headquarters: string[] | null; key_metrics: { description: string; metric: string; weight?: number | undefined; deal_breaker?: boolean | undefined; }[] | null; focus_geography_sales: string[] | null; business_model: string[] | null; verticals: string[] | null; minorities: string[] | null; company: string | null; team: { team_size: { min: number | null; max: number | null; }; skills_focus: string[] | null; education_background: string[] | null; } | null; traction: { revenue: { min: number | null; max: number | null; }; MRR: { min: number | null; max: number | null; }; ARR: { min: number | null; max: number | null; }; percent_growth: { min: number | null; max: number | null; }; } | null; additional_details: Record<string, any> | null; fund_type: string | null; fund_location: { fund_country: string | null; fund_city: string | null; } | null; investment_focus: { investment_stage: string[] | null; round_size: { min: number | null; max: number | null; }; pre_money_valuation: number | null; post_money_valuation: number | null; check_size: { min: number | null; max: number | null; }; } | null; deal_questions: { title: string; description: string; }[] | null; }>>; export declare const FileMetadataStatusSchema: z.ZodEnum<["pending", "in progress", "completed", "failed"]>; export declare const InvestorFileMetadataSchema: z.ZodObject<{ originalFileName: z.ZodString; fileName: z.ZodString; s3URL: z.ZodOptional<z.ZodString>; uploadDate: z.ZodNumber; status: z.ZodEnum<["pending", "in progress", "completed", "failed"]>; processingError: z.ZodNullable<z.ZodString>; active: z.ZodBoolean; }, "strip", z.ZodTypeAny, { status: "pending" | "completed" | "failed" | "in progress"; active: boolean; originalFileName: string; fileName: string; uploadDate: number; processingError: string | null; s3URL?: string | undefined; }, { status: "pending" | "completed" | "failed" | "in progress"; active: boolean; originalFileName: string; fileName: string; uploadDate: number; processingError: string | null; s3URL?: string | undefined; }>; export declare const LinkTypeEnum: z.ZodEnum<["personal_linkedin", "company_linkedin", "youtube", "google_drive", "google_docs", "docsend", "other"]>; export declare const InvestorLinkParsingResultSchema: z.ZodObject<{ url: z.ZodString; status: z.ZodEnum<["parsing_pending", "parsed_success", "parsing_failed"]>; type: z.ZodEnum<["personal_linkedin", "company_linkedin", "youtube", "google_drive", "google_docs", "docsend", "other"]>; parsed_at: z.ZodNullable<z.ZodDate>; error_message: z.ZodNullable<z.ZodString>; retries: z.ZodDefault<z.ZodNumber>; }, "strip", z.ZodTypeAny, { type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "other"; status: "parsing_pending" | "parsed_success" | "parsing_failed"; url: string; parsed_at: Date | null; error_message: string | null; retries: number; }, { type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "other"; status: "parsing_pending" | "parsed_success" | "parsing_failed"; url: string; parsed_at: Date | null; error_message: string | null; retries?: number | undefined; }>; export declare const InvestorLinkParsingErrorSchema: z.ZodNullable<z.ZodObject<{ name: z.ZodNullable<z.ZodString>; message: z.ZodNullable<z.ZodString>; }, "strip", z.ZodTypeAny, { message: string | null; name: string | null; }, { message: string | null; name: string | null; }>>; export declare const InvestorDealsFileMetadataSchema: z.ZodObject<{ originalFileName: z.ZodString; fileName: z.ZodString; s3URL: z.ZodString; uploadDate: z.ZodNumber; status: z.ZodEnum<["pending", "in progress", "completed", "failed"]>; processingError: z.ZodNullable<z.ZodString>; active: z.ZodBoolean; signature: z.ZodString; }, "strip", z.ZodTypeAny, { status: "pending" | "completed" | "failed" | "in progress"; active: boolean; originalFileName: string; fileName: string; s3URL: string; uploadDate: number; processingError: string | null; signature: string; }, { status: "pending" | "completed" | "failed" | "in progress"; active: boolean; originalFileName: string; fileName: string; s3URL: string; uploadDate: number; processingError: string | null; signature: string; }>; export declare const InvestorEnrichmentMetadataSchema: z.ZodObject<{ bio: z.ZodNullable<z.ZodString>; files: z.ZodNullable<z.ZodArray<z.ZodObject<{ originalFileName: z.ZodString; fileName: z.ZodString; s3URL: z.ZodOptional<z.ZodString>; uploadDate: z.ZodNumber; status: z.ZodEnum<["pending", "in progress", "completed", "failed"]>; processingError: z.ZodNullable<z.ZodString>; active: z.ZodBoolean; }, "strip", z.ZodTypeAny, { status: "pending" | "completed" | "failed" | "in progress"; active: boolean; originalFileName: string; fileName: string; uploadDate: number; processingError: string | null; s3URL?: string | undefined; }, { status: "pending" | "completed" | "failed" | "in progress"; active: boolean; originalFileName: string; fileName: string; uploadDate: number; processingError: string | null; s3URL?: string | undefined; }>, "many">>; links: z.ZodNullable<z.ZodObject<{ link_parsing_status: z.ZodEnum<["pending", "completed"]>; link_parsing_error: z.ZodNullable<z.ZodObject<{ name: z.ZodNullable<z.ZodString>; message: z.ZodNullable<z.ZodString>; }, "strip", z.ZodTypeAny, { message: string | null; name: string | null; }, { message: string | null; name: string | null; }>>; link_parsing_results: z.ZodArray<z.ZodObject<{ url: z.ZodString; status: z.ZodEnum<["parsing_pending", "parsed_success", "parsing_failed"]>; type: z.ZodEnum<["personal_linkedin", "company_linkedin", "youtube", "google_drive", "google_docs", "docsend", "other"]>; parsed_at: z.ZodNullable<z.ZodDate>; error_message: z.ZodNullable<z.ZodString>; retries: z.ZodDefault<z.ZodNumber>; }, "strip", z.ZodTypeAny, { type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "other"; status: "parsing_pending" | "parsed_success" | "parsing_failed"; url: string; parsed_at: Date | null; error_message: string | null; retries: number; }, { type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "other"; status: "parsing_pending" | "parsed_success" | "parsing_failed"; url: string; parsed_at: Date | null; error_message: string | null; retries?: number | undefined; }>, "many">; }, "strip", z.ZodTypeAny, { link_parsing_status: "pending" | "completed"; link_parsing_results: { type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "other"; status: "parsing_pending" | "parsed_success" | "parsing_failed"; url: string; parsed_at: Date | null; error_message: string | null; retries: number; }[]; link_parsing_error: { message: string | null; name: string | null; } | null; }, { link_parsing_status: "pending" | "completed"; link_parsing_results: { type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "other"; status: "parsing_pending" | "parsed_success" | "parsing_failed"; url: string; parsed_at: Date | null; error_message: string | null; retries?: number | undefined; }[]; link_parsing_error: { message: string | null; name: string | null; } | null; }>>; deals_csv: z.ZodNullable<z.ZodArray<z.ZodObject<{ originalFileName: z.ZodString; fileName: z.ZodString; s3URL: z.ZodString; uploadDate: z.ZodNumber; status: z.ZodEnum<["pending", "in progress", "completed", "failed"]>; processingError: z.ZodNullable<z.ZodString>; active: z.ZodBoolean; signature: z.ZodString; }, "strip", z.ZodTypeAny, { status: "pending" | "completed" | "failed" | "in progress"; active: boolean; originalFileName: string; fileName: string; s3URL: string; uploadDate: number; processingError: string | null; signature: string; }, { status: "pending" | "completed" | "failed" | "in progress"; active: boolean; originalFileName: string; fileName: string; s3URL: string; uploadDate: number; processingError: string | null; signature: string; }>, "many">>; }, "strip", z.ZodTypeAny, { bio: string | null; files: { status: "pending" | "completed" | "failed" | "in progress"; active: boolean; originalFileName: string; fileName: string; uploadDate: number; processingError: string | null; s3URL?: string | undefined; }[] | null; links: { link_parsing_status: "pending" | "completed"; link_parsing_results: { type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "other"; status: "parsing_pending" | "parsed_success" | "parsing_failed"; url: string; parsed_at: Date | null; error_message: string | null; retries: number; }[]; link_parsing_error: { message: string | null; name: string | null; } | null; } | null; deals_csv: { status: "pending" | "completed" | "failed" | "in progress"; active: boolean; originalFileName: string; fileName: string; s3URL: string; uploadDate: number; processingError: string | null; signature: string; }[] | null; }, { bio: string | null; files: { status: "pending" | "completed" | "failed" | "in progress"; active: boolean; originalFileName: string; fileName: string; uploadDate: number; processingError: string | null; s3URL?: string | undefined; }[] | null; links: { link_parsing_status: "pending" | "completed"; link_parsing_results: { type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "other"; status: "parsing_pending" | "parsed_success" | "parsing_failed"; url: string; parsed_at: Date | null; error_message: string | null; retries?: number | undefined; }[]; link_parsing_error: { message: string | null; name: string | null; } | null; } | null; deals_csv: { status: "pending" | "completed" | "failed" | "in progress"; active: boolean; originalFileName: string; fileName: string; s3URL: string; uploadDate: number; processingError: string | null; signature: string; }[] | null; }>; export declare const InvestorTutorialsSchema: z.ZodObject<{ metrics_and_questions_stage: z.ZodNullable<z.ZodNumber>; metrics_and_questions_stage_completed: z.ZodNullable<z.ZodDefault<z.ZodBoolean>>; new_user_modal: z.ZodNullable<z.ZodBoolean>; has_opened_tutorial_bot: z.ZodNullable<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { metrics_and_questions_stage: number | null; metrics_and_questions_stage_completed: boolean | null; new_user_modal: boolean | null; has_opened_tutorial_bot: boolean | null; }, { metrics_and_questions_stage: number | null; new_user_modal: boolean | null; has_opened_tutorial_bot: boolean | null; metrics_and_questions_stage_completed?: boolean | null | undefined; }>; export declare const InvestorSchema: z.ZodObject<{ email: z.ZodString; investor_profile: z.ZodNullable<z.ZodNullable<z.ZodObject<{ company: z.ZodNullable<z.ZodString>; fund_type: z.ZodNullable<z.ZodString>; fund_location: z.ZodNullable<z.ZodObject<{ fund_country: z.ZodNullable<z.ZodString>; fund_city: z.ZodNullable<z.ZodString>; }, "strip", z.ZodTypeAny, { fund_country: string | null; fund_city: string | null; }, { fund_country: string | null; fund_city: string | null; }>>; investment_focus: z.ZodNullable<z.ZodObject<{ investment_stage: z.ZodNullable<z.ZodArray<z.ZodString, "many">>; check_size: z.ZodObject<{ min: z.ZodNullable<z.ZodNumber>; max: z.ZodNullable<z.ZodNumber>; }, "strip", z.ZodTypeAny, { min: number | null; max: number | null; }, { min: number | null; max: number | null; }>; round_size: z.ZodObject<{ min: z.ZodNullable<z.ZodNumber>; max: z.ZodNullable<z.ZodNumber>; }, "strip", z.ZodTypeAny, { min: number | null; max: number | null; }, { min: number | null; max: number | null; }>; pre_money_valuation: z.ZodNullable<z.ZodNumber>; post_money_valuation: z.ZodNullable<z.ZodNumber>; }, "strip", z.ZodTypeAny, { investment_stage: string[] | null; round_size: { min: number | null; max: number | null; }; pre_money_valuation: number | null; post_money_valuation: number | null; check_size: { min: number | null; max: number | null; }; }, { investment_stage: string[] | null; round_size: { min: number | null; max: number | null; }; pre_money_valuation: number | null; post_money_valuation: number | null; check_size: { min: number | null; max: number | null; }; }>>; traction: z.ZodNullable<z.ZodObject<{ revenue: z.ZodObject<{ min: z.ZodNullable<z.ZodNumber>; max: z.ZodNullable<z.ZodNumber>; }, "strip", z.ZodTypeAny, { min: number | null; max: number | null; }, { min: number | null; max: number | null; }>; MRR: z.ZodObject<{ min: z.ZodNullable<z.ZodNumber>; max: z.ZodNullable<z.ZodNumber>; }, "strip", z.ZodTypeAny, { min: number | null; max: number | null; }, { min: number | null; max: number | null; }>; ARR: z.ZodObject<{ min: z.ZodNullable<z.ZodNumber>; max: z.ZodNullable<z.ZodNumber>; }, "strip", z.ZodTypeAny, { min: number | null; max: number | null; }, { min: number | null; max: number | null; }>; percent_growth: z.ZodObject<{ min: z.ZodNullable<z.ZodNumber>; max: z.ZodNullable<z.ZodNumber>; }, "strip", z.ZodTypeAny, { min: number | null; max: number | null; }, { min: number | null; max: number | null; }>; }, "strip", z.ZodTypeAny, { revenue: { min: number | null; max: number | null; }; MRR: { min: number | null; max: number | null; }; ARR: { min: number | null; max: number | null; }; percent_growth: { min: number | null; max: number | null; }; }, { revenue: { min: number | null; max: number | null; }; MRR: { min: number | null; max: number | null; }; ARR: { min: number | null; max: number | null; }; percent_growth: { min: number | null; max: number | null; }; }>>; focus_geography_sales: z.ZodNullable<z.ZodArray<z.ZodString, "many">>; business_model: z.ZodNullable<z.ZodArray<z.ZodString, "many">>; verticals: z.ZodNullable<z.ZodArray<z.ZodString, "many">>; minorities: z.ZodNullable<z.ZodArray<z.ZodString, "many">>; startup_headquarters: z.ZodNullable<z.ZodArray<z.ZodString, "many">>; team: z.ZodNullable<z.ZodObject<{ team_size: z.ZodObject<{ min: z.ZodNullable<z.ZodNumber>; max: z.ZodNullable<z.ZodNumber>; }, "strip", z.ZodTypeAny, { min: number | null; max: number | null; }, { min: number | null; max: number | null; }>; skills_focus: z.ZodNullable<z.ZodArray<z.ZodString, "many">>; education_background: z.ZodNullable<z.ZodArray<z.ZodString, "many">>; }, "strip", z.ZodTypeAny, { team_size: { min: number | null; max: number | null; }; skills_focus: string[] | null; education_background: string[] | null; }, { team_size: { min: number | null; max: number | null; }; skills_focus: string[] | null; education_background: string[] | null; }>>; additional_details: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodAny>>; key_metrics: z.ZodNullable<z.ZodArray<z.ZodObject<{ metric: z.ZodString; description: z.ZodString; weight: z.ZodDefault<z.ZodNumber>; deal_breaker: z.ZodDefault<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { description: string; weight: number; deal_breaker: boolean; metric: string; }, { description: string; metric: string; weight?: number | undefined; deal_breaker?: boolean | undefined; }>, "many">>; deal_questions: z.ZodNullable<z.ZodArray<z.ZodObject<{ title: z.ZodString; description: z.ZodString; }, "strip", z.ZodTypeAny, { title: string; description: string; }, { title: string; description: string; }>, "many">>; }, "strip", z.ZodTypeAny, { startup_headquarters: string[] | null; key_metrics: { description: string; weight: number; deal_breaker: boolean; metric: string; }[] | null; focus_geography_sales: string[] | null; business_model: string[] | null; verticals: string[] | null; minorities: string[] | null; company: string | null; team: { team_size: { min: number | null; max: number | null; }; skills_focus: string[] | null; education_background: string[] | null; } | null; traction: { revenue: { min: number | null; max: number | null; }; MRR: { min: number | null; max: number | null; }; ARR: { min: number | null; max: number | null; }; percent_growth: { min: number | null; max: number | null; }; } | null; additional_details: Record<string, any> | null; fund_type: string | null; fund_location: { fund_country: string | null; fund_city: string | null; } | null; investment_focus: { investment_stage: string[] | null; round_size: { min: number | null; max: number | null; }; pre_money_valuation: number | null; post_money_valuation: number | null; check_size: { min: number | null; max: number | null; }; } | null; deal_questions: { title: string; description: string; }[] | null; }, { startup_headquarters: string[] | null; key_metrics: { description: string; metric: string; weight?: number | undefined; deal_breaker?: boolean | undefined; }[] | null; focus_geography_sales: string[] | null; business_model: string[] | null; verticals: string[] | null; minorities: string[] | null; company: string | null; team: { team_size: { min: number | null; max: number | null; }; skills_focus: string[] | null; education_background: string[] | null; } | null; traction: { revenue: { min: number | null; max: number | null; }; MRR: { min: number | null; max: number | null; }; ARR: { min: number | null; max: number | null; }; percent_growth: { min: number | null; max: number | null; }; } | null; additional_details: Record<string, any> | null; fund_type: string | null; fund_location: { fund_country: string | null; fund_city: string | null; } | null; investment_focus: { investment_stage: string[] | null; round_size: { min: number | null; max: number | null; }; pre_money_valuation: number | null; post_money_valuation: number | null; check_size: { min: number | null; max: number | null; }; } | null; deal_questions: { title: string; description: string; }[] | null; }>>>; enrichment_metadata: z.ZodNullable<z.ZodObject<{ bio: z.ZodNullable<z.ZodString>; files: z.ZodNullable<z.ZodArray<z.ZodObject<{ originalFileName: z.ZodString; fileName: z.ZodString; s3URL: z.ZodOptional<z.ZodString>; uploadDate: z.ZodNumber; status: z.ZodEnum<["pending", "in progress", "completed", "failed"]>; processingError: z.ZodNullable<z.ZodString>; active: z.ZodBoolean; }, "strip", z.ZodTypeAny, { status: "pending" | "completed" | "failed" | "in progress"; active: boolean; originalFileName: string; fileName: string; uploadDate: number; processingError: string | null; s3URL?: string | undefined; }, { status: "pending" | "completed" | "failed" | "in progress"; active: boolean; originalFileName: string; fileName: string; uploadDate: number; processingError: string | null; s3URL?: string | undefined; }>, "many">>; links: z.ZodNullable<z.ZodObject<{ link_parsing_status: z.ZodEnum<["pending", "completed"]>; link_parsing_error: z.ZodNullable<z.ZodObject<{ name: z.ZodNullable<z.ZodString>; message: z.ZodNullable<z.ZodString>; }, "strip", z.ZodTypeAny, { message: string | null; name: string | null; }, { message: string | null; name: string | null; }>>; link_parsing_results: z.ZodArray<z.ZodObject<{ url: z.ZodString; status: z.ZodEnum<["parsing_pending", "parsed_success", "parsing_failed"]>; type: z.ZodEnum<["personal_linkedin", "company_linkedin", "youtube", "google_drive", "google_docs", "docsend", "other"]>; parsed_at: z.ZodNullable<z.ZodDate>; error_message: z.ZodNullable<z.ZodString>; retries: z.ZodDefault<z.ZodNumber>; }, "strip", z.ZodTypeAny, { type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "other"; status: "parsing_pending" | "parsed_success" | "parsing_failed"; url: string; parsed_at: Date | null; error_message: string | null; retries: number; }, { type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "other"; status: "parsing_pending" | "parsed_success" | "parsing_failed"; url: string; parsed_at: Date | null; error_message: string | null; retries?: number | undefined; }>, "many">; }, "strip", z.ZodTypeAny, { link_parsing_status: "pending" | "completed"; link_parsing_results: { type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "other"; status: "parsing_pending" | "parsed_success" | "parsing_failed"; url: string; parsed_at: Date | null; error_message: string | null; retries: number; }[]; link_parsing_error: { message: string | null; name: string | null; } | null; }, { link_parsing_status: "pending" | "completed"; link_parsing_results: { type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "other"; status: "parsing_pending" | "parsed_success" | "parsing_failed"; url: string; parsed_at: Date | null; error_message: string | null; retries?: number | undefined; }[]; link_parsing_error: { message: string | null; name: string | null; } | null; }>>; deals_csv: z.ZodNullable<z.ZodArray<z.ZodObject<{ originalFileName: z.ZodString; fileName: z.ZodString; s3URL: z.ZodString; uploadDate: z.ZodNumber; status: z.ZodEnum<["pending", "in progress", "completed", "failed"]>; processingError: z.ZodNullable<z.ZodString>; active: z.ZodBoolean; signature: z.ZodString; }, "strip", z.ZodTypeAny, { status: "pending" | "completed" | "failed" | "in progress"; active: boolean; originalFileName: string; fileName: string; s3URL: string; uploadDate: number; processingError: string | null; signature: string; }, { status: "pending" | "completed" | "failed" | "in progress"; active: boolean; originalFileName: string; fileName: string; s3URL: string; uploadDate: number; processingError: string | null; signature: string; }>, "many">>; }, "strip", z.ZodTypeAny, { bio: string | null; files: { status: "pending" | "completed" | "failed" | "in progress"; active: boolean; originalFileName: string; fileName: string; uploadDate: number; processingError: string | null; s3URL?: string | undefined; }[] | null; links: { link_parsing_status: "pending" | "completed"; link_parsing_results: { type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "other"; status: "parsing_pending" | "parsed_success" | "parsing_failed"; url: string; parsed_at: Date | null; error_message: string | null; retries: number; }[]; link_parsing_error: { message: string | null; name: string | null; } | null; } | null; deals_csv: { status: "pending" | "completed" | "failed" | "in progress"; active: boolean; originalFileName: string; fileName: string; s3URL: string; uploadDate: number; processingError: string | null; signature: string; }[] | null; }, { bio: string | null; files: { status: "pending" | "completed" | "failed" | "in progress"; active: boolean; originalFileName: string; fileName: string; uploadDate: number; processingError: string | null; s3URL?: string | undefined; }[] | null; links: { link_parsing_status: "pending" | "completed"; link_parsing_results: { type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "other"; status: "parsing_pending" | "parsed_success" | "parsing_failed"; url: string; parsed_at: Date | null; error_message: string | null; retries?: number | undefined; }[]; link_parsing_error: { message: string | null; name: string | null; } | null; } | null; deals_csv: { status: "pending" | "completed" | "failed" | "in progress"; active: boolean; originalFileName: string; fileName: string; s3URL: string; uploadDate: number; processingError: string | null; signature: string; }[] | null; }>>; settings: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>; tutorials: z.ZodNullable<z.ZodObject<{ metrics_and_questions_stage: z.ZodNullable<z.ZodNumber>; metrics_and_questions_stage_completed: z.ZodNullable<z.ZodDefault<z.ZodBoolean>>; new_user_modal: z.ZodNullable<z.ZodBoolean>; has_opened_tutorial_bot: z.ZodNullable<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { metrics_and_questions_stage: number | null; metrics_and_questions_stage_completed: boolean | null; new_user_modal: boolean | null; has_opened_tutorial_bot: boolean | null; }, { metrics_and_questions_stage: number | null; new_user_modal: boolean | null; has_opened_tutorial_bot: boolean | null; metrics_and_questions_stage_completed?: boolean | null | undefined; }>>; }, "strip", z.ZodTypeAny, { email: string; enrichment_metadata: { bio: string | null; files: { status: "pending" | "completed" | "failed" | "in progress"; active: boolean; originalFileName: string; fileName: string; uploadDate: number; processingError: string | null; s3URL?: string | undefined; }[] | null; links: { link_parsing_status: "pending" | "completed"; link_parsing_results: { type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "other"; status: "parsing_pending" | "parsed_success" | "parsing_failed"; url: string; parsed_at: Date | null; error_message: string | null; retries: number; }[]; link_parsing_error: { message: string | null; name: string | null; } | null; } | null; deals_csv: { status: "pending" | "completed" | "failed" | "in progress"; active: boolean; originalFileName: string; fileName: string; s3URL: string; uploadDate: number; processingError: string | null; signature: string; }[] | null; } | null; investor_profile: { startup_headquarters: string[] | null; key_metrics: { description: string; weight: number; deal_breaker: boolean; metric: string; }[] | null; focus_geography_sales: string[] | null; business_model: string[] | null; verticals: string[] | null; minorities: string[] | null; company: string | null; team: { team_size: { min: number | null; max: number | null; }; skills_focus: string[] | null; education_background: string[] | null; } | null; traction: { revenue: { min: number | null; max: number | null; }; MRR: { min: number | null; max: number | null; }; ARR: { min: number | null; max: number | null; }; percent_growth: { min: number | null; max: number | null; }; } | null; additional_details: Record<string, any> | null; fund_type: string | null; fund_location: { fund_country: string | null; fund_city: string | null; } | null; investment_focus: { investment_stage: string[] | null; round_size: { min: number | null; max: number | null; }; pre_money_valuation: number | null; post_money_valuation: number | null; check_size: { min: number | null; max: number | null; }; } | null; deal_questions: { title: string; description: string; }[] | null; } | null; settings: {}; tutorials: { metrics_and_questions_stage: number | null; metrics_and_questions_stage_completed: boolean | null; new_user_modal: boolean | null; has_opened_tutorial_bot: boolean | null; } | null; }, { email: string; enrichment_metadata: { bio: string | null; files: { status: "pending" | "completed" | "failed" | "in progress"; active: boolean; originalFileName: string; fileName: string; uploadDate: number; processingError: string | null; s3URL?: string | undefined; }[] | null; links: { link_parsing_status: "pending" | "completed"; link_parsing_results: { type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "other"; status: "parsing_pending" | "parsed_success" | "parsing_failed"; url: string; parsed_at: Date | null; error_message: string | null; retries?: number | undefined; }[]; link_parsing_error: { message: string | null; name: string | null; } | null; } | null; deals_csv: { status: "pending" | "completed" | "failed" | "in progress"; active: boolean; originalFileName: string; fileName: string; s3URL: string; uploadDate: number; processingError: string | null; signature: string; }[] | null; } | null; investor_profile: { startup_headquarters: string[] | null; key_metrics: { description: string; metric: string; weight?: number | undefined; deal_breaker?: boolean | undefined; }[] | null; focus_geography_sales: string[] | null; business_model: string[] | null; verticals: string[] | null; minorities: string[] | null; company: string | null; team: { team_size: { min: number | null; max: number | null; }; skills_focus: string[] | null; education_background: string[] | null; } | null; traction: { revenue: { min: number | null; max: number | null; }; MRR: { min: number | null; max: number | null; }; ARR: { min: number | null; max: number | null; }; percent_growth: { min: number | null; max: number | null; }; } | null; additional_details: Record<string, any> | null; fund_type: string | null; fund_location: { fund_country: string | null; fund_city: string | null; } | null; investment_focus: { investment_stage: string[] | null; round_size: { min: number | null; max: number | null; }; pre_money_valuation: number | null; post_money_valuation: number | null; check_size: { min: number | null; max: number | null; }; } | null; deal_questions: { title: string; description: string; }[] | null; } | null; settings: {}; tutorials: { metrics_and_questions_stage: number | null; new_user_modal: boolean | null; has_opened_tutorial_bot: boolean | null; metrics_and_questions_stage_completed?: boolean | null | undefined; } | null; }>; export type InvestorProfile = z.infer<typeof InvestorProfileSchema>; export type InvestorEnrichmentMetadata = z.infer<typeof InvestorEnrichmentMetadataSchema>; export type InvestorDocument = z.infer<typeof InvestorSchema>; export type InvestorFileMetadata = z.infer<typeof InvestorFileMetadataSchema>; export type InvestorLinkParsingResult = z.infer<typeof InvestorLinkParsingResultSchema>; export type InvestorLinkParsingError = z.infer<typeof InvestorLinkParsingErrorSchema>; export type InvestorDealsFileMetadata = z.infer<typeof InvestorDealsFileMetadataSchema>;