UNPKG

@gg-world/deals

Version:

Zod schemas and TypeScript types for deal-related data structures

1,140 lines (1,139 loc) 49.7 kB
import { ObjectId } from "mongodb"; import { z } from "zod"; export declare const DealStatusEnum: z.ZodEnum<["default", "liked", "disliked", "deleted", "email"]>; export declare const ProcessingStatusEnum: z.ZodEnum<["pending", "completed", "failed"]>; export declare const LinkParsingStatusEnum: z.ZodEnum<["pending", "completed"]>; export declare const LinkStatusEnum: z.ZodEnum<["parsing_pending", "parsed_success", "parsing_failed"]>; export declare const SourceTypeEnum: z.ZodEnum<["personal_linkedin", "company_linkedin", "youtube", "docsend", "google_drive", "google_docs", "dropbox", "vimeo", "pitch", "canva", "calameo", "maildoc", "figma", "brieflink", "other", "file"]>; export declare const DealSourceEnum: z.ZodEnum<["email", "file", "upload"]>; export declare const CompanyInfoSchema: z.ZodObject<{ name: z.ZodDefault<z.ZodNullable<z.ZodString>>; description: z.ZodDefault<z.ZodNullable<z.ZodString>>; logo_url: z.ZodDefault<z.ZodNullable<z.ZodString>>; investment_status: z.ZodDefault<z.ZodNullable<z.ZodString>>; country_id: z.ZodDefault<z.ZodNullable<z.ZodString>>; website: z.ZodDefault<z.ZodNullable<z.ZodString>>; linkedin_url: z.ZodDefault<z.ZodNullable<z.ZodString>>; }, "strip", z.ZodTypeAny, { name: string | null; description: string | null; logo_url: string | null; investment_status: string | null; country_id: string | null; website: string | null; linkedin_url: string | null; }, { name?: string | null | undefined; description?: string | null | undefined; logo_url?: string | null | undefined; investment_status?: string | null | undefined; country_id?: string | null | undefined; website?: string | null | undefined; linkedin_url?: string | null | undefined; }>; export declare const FounderInfoSchema: z.ZodObject<{ first_name: z.ZodDefault<z.ZodNullable<z.ZodString>>; last_name: z.ZodDefault<z.ZodNullable<z.ZodString>>; position: z.ZodDefault<z.ZodNullable<z.ZodString>>; bio: z.ZodDefault<z.ZodNullable<z.ZodString>>; linkedin_url: z.ZodDefault<z.ZodNullable<z.ZodString>>; }, "strip", z.ZodTypeAny, { linkedin_url: string | null; first_name: string | null; last_name: string | null; position: string | null; bio: string | null; }, { linkedin_url?: string | null | undefined; first_name?: string | null | undefined; last_name?: string | null | undefined; position?: string | null | undefined; bio?: string | null | undefined; }>; export declare const BusinessMetricsSchema: z.ZodObject<{ business_model: z.ZodDefault<z.ZodNullable<z.ZodString>>; verticals: z.ZodDefault<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>; geography: z.ZodDefault<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>; stage: z.ZodDefault<z.ZodNullable<z.ZodString>>; arr: z.ZodDefault<z.ZodNullable<z.ZodNumber>>; mrr: z.ZodDefault<z.ZodNullable<z.ZodNumber>>; sales_geography: z.ZodDefault<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>; focus_geography: z.ZodDefault<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>; }, "strip", z.ZodTypeAny, { business_model: string | null; verticals: string[] | null; geography: string[] | null; stage: string | null; arr: number | null; mrr: number | null; sales_geography: string[] | null; focus_geography: string[] | null; }, { business_model?: string | null | undefined; verticals?: string[] | null | undefined; geography?: string[] | null | undefined; stage?: string | null | undefined; arr?: number | null | undefined; mrr?: number | null | undefined; sales_geography?: string[] | null | undefined; focus_geography?: string[] | null | undefined; }>; export declare const FundraisingInfoSchema: z.ZodObject<{ round: z.ZodDefault<z.ZodNullable<z.ZodString>>; target_amount: z.ZodDefault<z.ZodNullable<z.ZodNumber>>; raised_amount: z.ZodDefault<z.ZodNullable<z.ZodNumber>>; valuation: z.ZodDefault<z.ZodNullable<z.ZodNumber>>; pitch_deck_url: z.ZodDefault<z.ZodNullable<z.ZodString>>; pitch_video_url: z.ZodDefault<z.ZodNullable<z.ZodString>>; }, "strip", z.ZodTypeAny, { round: string | null; target_amount: number | null; raised_amount: number | null; valuation: number | null; pitch_deck_url: string | null; pitch_video_url: string | null; }, { round?: string | null | undefined; target_amount?: number | null | undefined; raised_amount?: number | null | undefined; valuation?: number | null | undefined; pitch_deck_url?: string | null | undefined; pitch_video_url?: string | null | undefined; }>; export declare const DealProfileSchema: z.ZodObject<{ external_id: z.ZodOptional<z.ZodNullable<z.ZodString>>; company_info: z.ZodNullable<z.ZodObject<{ name: z.ZodDefault<z.ZodNullable<z.ZodString>>; description: z.ZodDefault<z.ZodNullable<z.ZodString>>; logo_url: z.ZodDefault<z.ZodNullable<z.ZodString>>; investment_status: z.ZodDefault<z.ZodNullable<z.ZodString>>; country_id: z.ZodDefault<z.ZodNullable<z.ZodString>>; website: z.ZodDefault<z.ZodNullable<z.ZodString>>; linkedin_url: z.ZodDefault<z.ZodNullable<z.ZodString>>; }, "strip", z.ZodTypeAny, { name: string | null; description: string | null; logo_url: string | null; investment_status: string | null; country_id: string | null; website: string | null; linkedin_url: string | null; }, { name?: string | null | undefined; description?: string | null | undefined; logo_url?: string | null | undefined; investment_status?: string | null | undefined; country_id?: string | null | undefined; website?: string | null | undefined; linkedin_url?: string | null | undefined; }>>; founder_info: z.ZodNullable<z.ZodObject<{ first_name: z.ZodDefault<z.ZodNullable<z.ZodString>>; last_name: z.ZodDefault<z.ZodNullable<z.ZodString>>; position: z.ZodDefault<z.ZodNullable<z.ZodString>>; bio: z.ZodDefault<z.ZodNullable<z.ZodString>>; linkedin_url: z.ZodDefault<z.ZodNullable<z.ZodString>>; }, "strip", z.ZodTypeAny, { linkedin_url: string | null; first_name: string | null; last_name: string | null; position: string | null; bio: string | null; }, { linkedin_url?: string | null | undefined; first_name?: string | null | undefined; last_name?: string | null | undefined; position?: string | null | undefined; bio?: string | null | undefined; }>>; business_metrics: z.ZodNullable<z.ZodObject<{ business_model: z.ZodDefault<z.ZodNullable<z.ZodString>>; verticals: z.ZodDefault<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>; geography: z.ZodDefault<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>; stage: z.ZodDefault<z.ZodNullable<z.ZodString>>; arr: z.ZodDefault<z.ZodNullable<z.ZodNumber>>; mrr: z.ZodDefault<z.ZodNullable<z.ZodNumber>>; sales_geography: z.ZodDefault<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>; focus_geography: z.ZodDefault<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>; }, "strip", z.ZodTypeAny, { business_model: string | null; verticals: string[] | null; geography: string[] | null; stage: string | null; arr: number | null; mrr: number | null; sales_geography: string[] | null; focus_geography: string[] | null; }, { business_model?: string | null | undefined; verticals?: string[] | null | undefined; geography?: string[] | null | undefined; stage?: string | null | undefined; arr?: number | null | undefined; mrr?: number | null | undefined; sales_geography?: string[] | null | undefined; focus_geography?: string[] | null | undefined; }>>; fundraising: z.ZodNullable<z.ZodObject<{ round: z.ZodDefault<z.ZodNullable<z.ZodString>>; target_amount: z.ZodDefault<z.ZodNullable<z.ZodNumber>>; raised_amount: z.ZodDefault<z.ZodNullable<z.ZodNumber>>; valuation: z.ZodDefault<z.ZodNullable<z.ZodNumber>>; pitch_deck_url: z.ZodDefault<z.ZodNullable<z.ZodString>>; pitch_video_url: z.ZodDefault<z.ZodNullable<z.ZodString>>; }, "strip", z.ZodTypeAny, { round: string | null; target_amount: number | null; raised_amount: number | null; valuation: number | null; pitch_deck_url: string | null; pitch_video_url: string | null; }, { round?: string | null | undefined; target_amount?: number | null | undefined; raised_amount?: number | null | undefined; valuation?: number | null | undefined; pitch_deck_url?: string | null | undefined; pitch_video_url?: string | null | undefined; }>>; additional_details: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodAny>>; }, "strip", z.ZodTypeAny, { company_info: { name: string | null; description: string | null; logo_url: string | null; investment_status: string | null; country_id: string | null; website: string | null; linkedin_url: string | null; } | null; founder_info: { linkedin_url: string | null; first_name: string | null; last_name: string | null; position: string | null; bio: string | null; } | null; business_metrics: { business_model: string | null; verticals: string[] | null; geography: string[] | null; stage: string | null; arr: number | null; mrr: number | null; sales_geography: string[] | null; focus_geography: string[] | null; } | null; fundraising: { round: string | null; target_amount: number | null; raised_amount: number | null; valuation: number | null; pitch_deck_url: string | null; pitch_video_url: string | null; } | null; additional_details: Record<string, any> | null; external_id?: string | null | undefined; }, { company_info: { name?: string | null | undefined; description?: string | null | undefined; logo_url?: string | null | undefined; investment_status?: string | null | undefined; country_id?: string | null | undefined; website?: string | null | undefined; linkedin_url?: string | null | undefined; } | null; founder_info: { linkedin_url?: string | null | undefined; first_name?: string | null | undefined; last_name?: string | null | undefined; position?: string | null | undefined; bio?: string | null | undefined; } | null; business_metrics: { business_model?: string | null | undefined; verticals?: string[] | null | undefined; geography?: string[] | null | undefined; stage?: string | null | undefined; arr?: number | null | undefined; mrr?: number | null | undefined; sales_geography?: string[] | null | undefined; focus_geography?: string[] | null | undefined; } | null; fundraising: { round?: string | null | undefined; target_amount?: number | null | undefined; raised_amount?: number | null | undefined; valuation?: number | null | undefined; pitch_deck_url?: string | null | undefined; pitch_video_url?: string | null | undefined; } | null; additional_details: Record<string, any> | null; external_id?: string | null | undefined; }>; export declare const LinkParsingResultSchema: z.ZodObject<{ url: z.ZodString; status: z.ZodEnum<["parsing_pending", "parsed_success", "parsing_failed"]>; type: z.ZodEnum<["personal_linkedin", "company_linkedin", "youtube", "docsend", "google_drive", "google_docs", "dropbox", "vimeo", "pitch", "canva", "calameo", "maildoc", "figma", "brieflink", "other", "file"]>; 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" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file"; 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" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file"; status: "parsing_pending" | "parsed_success" | "parsing_failed"; url: string; parsed_at: Date | null; error_message: string | null; retries?: number | undefined; }>; export declare const FileAttachmentSchema: z.ZodObject<{ file_url: z.ZodString; filename: z.ZodString; uploaded_at: z.ZodDate; }, "strip", z.ZodTypeAny, { file_url: string; filename: string; uploaded_at: Date; }, { file_url: string; filename: string; uploaded_at: Date; }>; export declare const RawInputSchema: z.ZodObject<{ text: z.ZodDefault<z.ZodString>; attachments: z.ZodDefault<z.ZodArray<z.ZodObject<{ file_url: z.ZodString; filename: z.ZodString; uploaded_at: z.ZodDate; }, "strip", z.ZodTypeAny, { file_url: string; filename: string; uploaded_at: Date; }, { file_url: string; filename: string; uploaded_at: Date; }>, "many">>; received_at: z.ZodDefault<z.ZodDate>; }, "strip", z.ZodTypeAny, { text: string; attachments: { file_url: string; filename: string; uploaded_at: Date; }[]; received_at: Date; }, { text?: string | undefined; attachments?: { file_url: string; filename: string; uploaded_at: Date; }[] | undefined; received_at?: Date | undefined; }>; export declare const EnrichmentMetadataSchema: z.ZodObject<{ last_enrichment_date: z.ZodNullable<z.ZodDate>; raw_input: z.ZodObject<{ text: z.ZodDefault<z.ZodString>; attachments: z.ZodDefault<z.ZodArray<z.ZodObject<{ file_url: z.ZodString; filename: z.ZodString; uploaded_at: z.ZodDate; }, "strip", z.ZodTypeAny, { file_url: string; filename: string; uploaded_at: Date; }, { file_url: string; filename: string; uploaded_at: Date; }>, "many">>; received_at: z.ZodDefault<z.ZodDate>; }, "strip", z.ZodTypeAny, { text: string; attachments: { file_url: string; filename: string; uploaded_at: Date; }[]; received_at: Date; }, { text?: string | undefined; attachments?: { file_url: string; filename: string; uploaded_at: Date; }[] | undefined; received_at?: Date | undefined; }>; source_data: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{ raw_data: z.ZodAny; processed_at: z.ZodDate; source_type: z.ZodEnum<["personal_linkedin", "company_linkedin", "youtube", "docsend", "google_drive", "google_docs", "dropbox", "vimeo", "pitch", "canva", "calameo", "maildoc", "figma", "brieflink", "other", "file"]>; }, "strip", z.ZodTypeAny, { processed_at: Date; source_type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file"; raw_data?: any; }, { processed_at: Date; source_type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file"; raw_data?: any; }>>>; processing_status: z.ZodObject<{ link_parsing_status: z.ZodDefault<z.ZodEnum<["pending", "completed"]>>; raw_input_parsing_status: z.ZodDefault<z.ZodEnum<["pending", "completed"]>>; link_parsing_results: z.ZodDefault<z.ZodArray<z.ZodObject<{ url: z.ZodString; status: z.ZodEnum<["parsing_pending", "parsed_success", "parsing_failed"]>; type: z.ZodEnum<["personal_linkedin", "company_linkedin", "youtube", "docsend", "google_drive", "google_docs", "dropbox", "vimeo", "pitch", "canva", "calameo", "maildoc", "figma", "brieflink", "other", "file"]>; 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" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file"; 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" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file"; 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"; raw_input_parsing_status: "pending" | "completed"; link_parsing_results: { type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file"; status: "parsing_pending" | "parsed_success" | "parsing_failed"; url: string; parsed_at: Date | null; error_message: string | null; retries: number; }[]; }, { link_parsing_status?: "pending" | "completed" | undefined; raw_input_parsing_status?: "pending" | "completed" | undefined; link_parsing_results?: { type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file"; status: "parsing_pending" | "parsed_success" | "parsing_failed"; url: string; parsed_at: Date | null; error_message: string | null; retries?: number | undefined; }[] | undefined; }>; }, "strip", z.ZodTypeAny, { last_enrichment_date: Date | null; raw_input: { text: string; attachments: { file_url: string; filename: string; uploaded_at: Date; }[]; received_at: Date; }; source_data: Record<string, { processed_at: Date; source_type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file"; raw_data?: any; }>; processing_status: { link_parsing_status: "pending" | "completed"; raw_input_parsing_status: "pending" | "completed"; link_parsing_results: { type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file"; status: "parsing_pending" | "parsed_success" | "parsing_failed"; url: string; parsed_at: Date | null; error_message: string | null; retries: number; }[]; }; }, { last_enrichment_date: Date | null; raw_input: { text?: string | undefined; attachments?: { file_url: string; filename: string; uploaded_at: Date; }[] | undefined; received_at?: Date | undefined; }; processing_status: { link_parsing_status?: "pending" | "completed" | undefined; raw_input_parsing_status?: "pending" | "completed" | undefined; link_parsing_results?: { type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file"; status: "parsing_pending" | "parsed_success" | "parsing_failed"; url: string; parsed_at: Date | null; error_message: string | null; retries?: number | undefined; }[] | undefined; }; source_data?: Record<string, { processed_at: Date; source_type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file"; raw_data?: any; }> | undefined; }>; export declare const DealFactorSchema: z.ZodObject<{ factor: z.ZodString; explanation: z.ZodString; impact: z.ZodOptional<z.ZodNumber>; }, "strip", z.ZodTypeAny, { factor: string; explanation: string; impact?: number | undefined; }, { factor: string; explanation: string; impact?: number | undefined; }>; export declare const DealScoringSchema: z.ZodObject<{ score: z.ZodDefault<z.ZodNumber>; factors: z.ZodDefault<z.ZodArray<z.ZodObject<{ factor: z.ZodString; explanation: z.ZodString; impact: z.ZodOptional<z.ZodNumber>; }, "strip", z.ZodTypeAny, { factor: string; explanation: string; impact?: number | undefined; }, { factor: string; explanation: string; impact?: number | undefined; }>, "many">>; }, "strip", z.ZodTypeAny, { score: number; factors: { factor: string; explanation: string; impact?: number | undefined; }[]; }, { score?: number | undefined; factors?: { factor: string; explanation: string; impact?: number | undefined; }[] | undefined; }>; export declare const DealTagSchema: z.ZodObject<{ id: z.ZodNumber; name: z.ZodDefault<z.ZodString>; description: z.ZodDefault<z.ZodString>; color: z.ZodDefault<z.ZodString>; }, "strip", z.ZodTypeAny, { name: string; description: string; id: number; color: string; }, { id: number; name?: string | undefined; description?: string | undefined; color?: string | undefined; }>; export declare const DealSchema: z.ZodObject<{ investor_email: z.ZodNullable<z.ZodString>; status: z.ZodDefault<z.ZodEnum<["default", "liked", "disliked", "deleted", "email"]>>; new: z.ZodDefault<z.ZodBoolean>; stage: z.ZodDefault<z.ZodNullable<z.ZodString>>; tags: z.ZodDefault<z.ZodArray<z.ZodNumber, "many">>; source: z.ZodDefault<z.ZodEnum<["email", "file", "upload"]>>; profile: z.ZodObject<{ external_id: z.ZodOptional<z.ZodNullable<z.ZodString>>; company_info: z.ZodNullable<z.ZodObject<{ name: z.ZodDefault<z.ZodNullable<z.ZodString>>; description: z.ZodDefault<z.ZodNullable<z.ZodString>>; logo_url: z.ZodDefault<z.ZodNullable<z.ZodString>>; investment_status: z.ZodDefault<z.ZodNullable<z.ZodString>>; country_id: z.ZodDefault<z.ZodNullable<z.ZodString>>; website: z.ZodDefault<z.ZodNullable<z.ZodString>>; linkedin_url: z.ZodDefault<z.ZodNullable<z.ZodString>>; }, "strip", z.ZodTypeAny, { name: string | null; description: string | null; logo_url: string | null; investment_status: string | null; country_id: string | null; website: string | null; linkedin_url: string | null; }, { name?: string | null | undefined; description?: string | null | undefined; logo_url?: string | null | undefined; investment_status?: string | null | undefined; country_id?: string | null | undefined; website?: string | null | undefined; linkedin_url?: string | null | undefined; }>>; founder_info: z.ZodNullable<z.ZodObject<{ first_name: z.ZodDefault<z.ZodNullable<z.ZodString>>; last_name: z.ZodDefault<z.ZodNullable<z.ZodString>>; position: z.ZodDefault<z.ZodNullable<z.ZodString>>; bio: z.ZodDefault<z.ZodNullable<z.ZodString>>; linkedin_url: z.ZodDefault<z.ZodNullable<z.ZodString>>; }, "strip", z.ZodTypeAny, { linkedin_url: string | null; first_name: string | null; last_name: string | null; position: string | null; bio: string | null; }, { linkedin_url?: string | null | undefined; first_name?: string | null | undefined; last_name?: string | null | undefined; position?: string | null | undefined; bio?: string | null | undefined; }>>; business_metrics: z.ZodNullable<z.ZodObject<{ business_model: z.ZodDefault<z.ZodNullable<z.ZodString>>; verticals: z.ZodDefault<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>; geography: z.ZodDefault<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>; stage: z.ZodDefault<z.ZodNullable<z.ZodString>>; arr: z.ZodDefault<z.ZodNullable<z.ZodNumber>>; mrr: z.ZodDefault<z.ZodNullable<z.ZodNumber>>; sales_geography: z.ZodDefault<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>; focus_geography: z.ZodDefault<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>; }, "strip", z.ZodTypeAny, { business_model: string | null; verticals: string[] | null; geography: string[] | null; stage: string | null; arr: number | null; mrr: number | null; sales_geography: string[] | null; focus_geography: string[] | null; }, { business_model?: string | null | undefined; verticals?: string[] | null | undefined; geography?: string[] | null | undefined; stage?: string | null | undefined; arr?: number | null | undefined; mrr?: number | null | undefined; sales_geography?: string[] | null | undefined; focus_geography?: string[] | null | undefined; }>>; fundraising: z.ZodNullable<z.ZodObject<{ round: z.ZodDefault<z.ZodNullable<z.ZodString>>; target_amount: z.ZodDefault<z.ZodNullable<z.ZodNumber>>; raised_amount: z.ZodDefault<z.ZodNullable<z.ZodNumber>>; valuation: z.ZodDefault<z.ZodNullable<z.ZodNumber>>; pitch_deck_url: z.ZodDefault<z.ZodNullable<z.ZodString>>; pitch_video_url: z.ZodDefault<z.ZodNullable<z.ZodString>>; }, "strip", z.ZodTypeAny, { round: string | null; target_amount: number | null; raised_amount: number | null; valuation: number | null; pitch_deck_url: string | null; pitch_video_url: string | null; }, { round?: string | null | undefined; target_amount?: number | null | undefined; raised_amount?: number | null | undefined; valuation?: number | null | undefined; pitch_deck_url?: string | null | undefined; pitch_video_url?: string | null | undefined; }>>; additional_details: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodAny>>; }, "strip", z.ZodTypeAny, { company_info: { name: string | null; description: string | null; logo_url: string | null; investment_status: string | null; country_id: string | null; website: string | null; linkedin_url: string | null; } | null; founder_info: { linkedin_url: string | null; first_name: string | null; last_name: string | null; position: string | null; bio: string | null; } | null; business_metrics: { business_model: string | null; verticals: string[] | null; geography: string[] | null; stage: string | null; arr: number | null; mrr: number | null; sales_geography: string[] | null; focus_geography: string[] | null; } | null; fundraising: { round: string | null; target_amount: number | null; raised_amount: number | null; valuation: number | null; pitch_deck_url: string | null; pitch_video_url: string | null; } | null; additional_details: Record<string, any> | null; external_id?: string | null | undefined; }, { company_info: { name?: string | null | undefined; description?: string | null | undefined; logo_url?: string | null | undefined; investment_status?: string | null | undefined; country_id?: string | null | undefined; website?: string | null | undefined; linkedin_url?: string | null | undefined; } | null; founder_info: { linkedin_url?: string | null | undefined; first_name?: string | null | undefined; last_name?: string | null | undefined; position?: string | null | undefined; bio?: string | null | undefined; } | null; business_metrics: { business_model?: string | null | undefined; verticals?: string[] | null | undefined; geography?: string[] | null | undefined; stage?: string | null | undefined; arr?: number | null | undefined; mrr?: number | null | undefined; sales_geography?: string[] | null | undefined; focus_geography?: string[] | null | undefined; } | null; fundraising: { round?: string | null | undefined; target_amount?: number | null | undefined; raised_amount?: number | null | undefined; valuation?: number | null | undefined; pitch_deck_url?: string | null | undefined; pitch_video_url?: string | null | undefined; } | null; additional_details: Record<string, any> | null; external_id?: string | null | undefined; }>; enrichment_metadata: z.ZodObject<{ last_enrichment_date: z.ZodNullable<z.ZodDate>; raw_input: z.ZodObject<{ text: z.ZodDefault<z.ZodString>; attachments: z.ZodDefault<z.ZodArray<z.ZodObject<{ file_url: z.ZodString; filename: z.ZodString; uploaded_at: z.ZodDate; }, "strip", z.ZodTypeAny, { file_url: string; filename: string; uploaded_at: Date; }, { file_url: string; filename: string; uploaded_at: Date; }>, "many">>; received_at: z.ZodDefault<z.ZodDate>; }, "strip", z.ZodTypeAny, { text: string; attachments: { file_url: string; filename: string; uploaded_at: Date; }[]; received_at: Date; }, { text?: string | undefined; attachments?: { file_url: string; filename: string; uploaded_at: Date; }[] | undefined; received_at?: Date | undefined; }>; source_data: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{ raw_data: z.ZodAny; processed_at: z.ZodDate; source_type: z.ZodEnum<["personal_linkedin", "company_linkedin", "youtube", "docsend", "google_drive", "google_docs", "dropbox", "vimeo", "pitch", "canva", "calameo", "maildoc", "figma", "brieflink", "other", "file"]>; }, "strip", z.ZodTypeAny, { processed_at: Date; source_type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file"; raw_data?: any; }, { processed_at: Date; source_type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file"; raw_data?: any; }>>>; processing_status: z.ZodObject<{ link_parsing_status: z.ZodDefault<z.ZodEnum<["pending", "completed"]>>; raw_input_parsing_status: z.ZodDefault<z.ZodEnum<["pending", "completed"]>>; link_parsing_results: z.ZodDefault<z.ZodArray<z.ZodObject<{ url: z.ZodString; status: z.ZodEnum<["parsing_pending", "parsed_success", "parsing_failed"]>; type: z.ZodEnum<["personal_linkedin", "company_linkedin", "youtube", "docsend", "google_drive", "google_docs", "dropbox", "vimeo", "pitch", "canva", "calameo", "maildoc", "figma", "brieflink", "other", "file"]>; 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" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file"; 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" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file"; 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"; raw_input_parsing_status: "pending" | "completed"; link_parsing_results: { type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file"; status: "parsing_pending" | "parsed_success" | "parsing_failed"; url: string; parsed_at: Date | null; error_message: string | null; retries: number; }[]; }, { link_parsing_status?: "pending" | "completed" | undefined; raw_input_parsing_status?: "pending" | "completed" | undefined; link_parsing_results?: { type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file"; status: "parsing_pending" | "parsed_success" | "parsing_failed"; url: string; parsed_at: Date | null; error_message: string | null; retries?: number | undefined; }[] | undefined; }>; }, "strip", z.ZodTypeAny, { last_enrichment_date: Date | null; raw_input: { text: string; attachments: { file_url: string; filename: string; uploaded_at: Date; }[]; received_at: Date; }; source_data: Record<string, { processed_at: Date; source_type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file"; raw_data?: any; }>; processing_status: { link_parsing_status: "pending" | "completed"; raw_input_parsing_status: "pending" | "completed"; link_parsing_results: { type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file"; status: "parsing_pending" | "parsed_success" | "parsing_failed"; url: string; parsed_at: Date | null; error_message: string | null; retries: number; }[]; }; }, { last_enrichment_date: Date | null; raw_input: { text?: string | undefined; attachments?: { file_url: string; filename: string; uploaded_at: Date; }[] | undefined; received_at?: Date | undefined; }; processing_status: { link_parsing_status?: "pending" | "completed" | undefined; raw_input_parsing_status?: "pending" | "completed" | undefined; link_parsing_results?: { type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file"; status: "parsing_pending" | "parsed_success" | "parsing_failed"; url: string; parsed_at: Date | null; error_message: string | null; retries?: number | undefined; }[] | undefined; }; source_data?: Record<string, { processed_at: Date; source_type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file"; raw_data?: any; }> | undefined; }>; scoring: z.ZodObject<{ score: z.ZodDefault<z.ZodNumber>; factors: z.ZodDefault<z.ZodArray<z.ZodObject<{ factor: z.ZodString; explanation: z.ZodString; impact: z.ZodOptional<z.ZodNumber>; }, "strip", z.ZodTypeAny, { factor: string; explanation: string; impact?: number | undefined; }, { factor: string; explanation: string; impact?: number | undefined; }>, "many">>; }, "strip", z.ZodTypeAny, { score: number; factors: { factor: string; explanation: string; impact?: number | undefined; }[]; }, { score?: number | undefined; factors?: { factor: string; explanation: string; impact?: number | undefined; }[] | undefined; }>; processing_status: z.ZodDefault<z.ZodEnum<["pending", "completed", "failed"]>>; created_at: z.ZodDefault<z.ZodDate>; updated_at: z.ZodNullable<z.ZodDefault<z.ZodDate>>; }, "strip", z.ZodTypeAny, { status: "default" | "liked" | "disliked" | "deleted" | "email"; stage: string | null; processing_status: "pending" | "completed" | "failed"; investor_email: string | null; new: boolean; tags: number[]; source: "email" | "file" | "upload"; profile: { company_info: { name: string | null; description: string | null; logo_url: string | null; investment_status: string | null; country_id: string | null; website: string | null; linkedin_url: string | null; } | null; founder_info: { linkedin_url: string | null; first_name: string | null; last_name: string | null; position: string | null; bio: string | null; } | null; business_metrics: { business_model: string | null; verticals: string[] | null; geography: string[] | null; stage: string | null; arr: number | null; mrr: number | null; sales_geography: string[] | null; focus_geography: string[] | null; } | null; fundraising: { round: string | null; target_amount: number | null; raised_amount: number | null; valuation: number | null; pitch_deck_url: string | null; pitch_video_url: string | null; } | null; additional_details: Record<string, any> | null; external_id?: string | null | undefined; }; enrichment_metadata: { last_enrichment_date: Date | null; raw_input: { text: string; attachments: { file_url: string; filename: string; uploaded_at: Date; }[]; received_at: Date; }; source_data: Record<string, { processed_at: Date; source_type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file"; raw_data?: any; }>; processing_status: { link_parsing_status: "pending" | "completed"; raw_input_parsing_status: "pending" | "completed"; link_parsing_results: { type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file"; status: "parsing_pending" | "parsed_success" | "parsing_failed"; url: string; parsed_at: Date | null; error_message: string | null; retries: number; }[]; }; }; scoring: { score: number; factors: { factor: string; explanation: string; impact?: number | undefined; }[]; }; created_at: Date; updated_at: Date | null; }, { investor_email: string | null; profile: { company_info: { name?: string | null | undefined; description?: string | null | undefined; logo_url?: string | null | undefined; investment_status?: string | null | undefined; country_id?: string | null | undefined; website?: string | null | undefined; linkedin_url?: string | null | undefined; } | null; founder_info: { linkedin_url?: string | null | undefined; first_name?: string | null | undefined; last_name?: string | null | undefined; position?: string | null | undefined; bio?: string | null | undefined; } | null; business_metrics: { business_model?: string | null | undefined; verticals?: string[] | null | undefined; geography?: string[] | null | undefined; stage?: string | null | undefined; arr?: number | null | undefined; mrr?: number | null | undefined; sales_geography?: string[] | null | undefined; focus_geography?: string[] | null | undefined; } | null; fundraising: { round?: string | null | undefined; target_amount?: number | null | undefined; raised_amount?: number | null | undefined; valuation?: number | null | undefined; pitch_deck_url?: string | null | undefined; pitch_video_url?: string | null | undefined; } | null; additional_details: Record<string, any> | null; external_id?: string | null | undefined; }; enrichment_metadata: { last_enrichment_date: Date | null; raw_input: { text?: string | undefined; attachments?: { file_url: string; filename: string; uploaded_at: Date; }[] | undefined; received_at?: Date | undefined; }; processing_status: { link_parsing_status?: "pending" | "completed" | undefined; raw_input_parsing_status?: "pending" | "completed" | undefined; link_parsing_results?: { type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file"; status: "parsing_pending" | "parsed_success" | "parsing_failed"; url: string; parsed_at: Date | null; error_message: string | null; retries?: number | undefined; }[] | undefined; }; source_data?: Record<string, { processed_at: Date; source_type: "personal_linkedin" | "company_linkedin" | "youtube" | "docsend" | "google_drive" | "google_docs" | "dropbox" | "vimeo" | "pitch" | "canva" | "calameo" | "maildoc" | "figma" | "brieflink" | "other" | "file"; raw_data?: any; }> | undefined; }; scoring: { score?: number | undefined; factors?: { factor: string; explanation: string; impact?: number | undefined; }[] | undefined; }; status?: "default" | "liked" | "disliked" | "deleted" | "email" | undefined; stage?: string | null | undefined; processing_status?: "pending" | "completed" | "failed" | undefined; new?: boolean | undefined; tags?: number[] | undefined; source?: "email" | "file" | "upload" | undefined; created_at?: Date | undefined; updated_at?: Date | null | undefined; }>; export declare const StageSchema: z.ZodObject<{ investor_email: z.ZodString; name: z.ZodString; order: z.ZodNumber; color: z.ZodString; created_at: z.ZodDefault<z.ZodDate>; updated_at: z.ZodNullable<z.ZodDefault<z.ZodDate>>; }, "strip", z.ZodTypeAny, { name: string; color: string; investor_email: string; created_at: Date; updated_at: Date | null; order: number; }, { name: string; color: string; investor_email: string; order: number; created_at?: Date | undefined; updated_at?: Date | null | undefined; }>; export type Stage = z.infer<typeof StageSchema>; export type DealType = z.infer<typeof DealSchema>; export type DealDocument = DealType & { _id: ObjectId; }; export type StageDocument = Stage & { _id: ObjectId; }; export type DealStatus = z.infer<typeof DealStatusEnum>; export type LinkParsingStatus = z.infer<typeof LinkParsingStatusEnum>; export type LinkStatus = z.infer<typeof LinkStatusEnum>; export type SourceType = z.infer<typeof SourceTypeEnum>; export type DealSource = z.infer<typeof DealSourceEnum>; export type ProcessingStatus = z.infer<typeof ProcessingStatusEnum>; export type CompanyInfo = z.infer<typeof CompanyInfoSchema>; export type FounderInfo = z.infer<typeof FounderInfoSchema>; export type BusinessMetrics = z.infer<typeof BusinessMetricsSchema>; export type FundraisingInfo = z.infer<typeof FundraisingInfoSchema>; export type DealProfile = z.infer<typeof DealProfileSchema>; export type LinkParsingResult = z.infer<typeof LinkParsingResultSchema>; export type EnrichmentMetadata = z.infer<typeof EnrichmentMetadataSchema>; export type DealFactor = z.infer<typeof DealFactorSchema>; export type DealScoring = z.infer<typeof DealScoringSchema>; export type FileAttachment = z.infer<typeof FileAttachmentSchema>; export type RawInput = z.infer<typeof RawInputSchema>; export type DealTag = z.infer<typeof DealTagSchema>; export type DealStatusType = z.infer<typeof DealStatusEnum>;