import { z } from 'zod'; import { A as ActionItemsResult, T as Transcript } from '../action-items-CC9yUxHY.js'; import { S as SpeakerAnalytics, N as NormalizedMeeting } from '../speaker-analytics-Dr46LKyP.js'; /** * Zod schema for source sentence in an action item. */ declare const ActionItemSourceSentenceSchema: z.ZodObject<{ speakerName: z.ZodString; text: z.ZodString; startTime: z.ZodNumber; }, z.core.$strip>; /** * Zod schema for ActionItem. * A single action item extracted from a transcript. */ declare const ActionItemSchema: z.ZodObject<{ text: z.ZodString; assignee: z.ZodOptional; dueDate: z.ZodOptional; lineNumber: z.ZodNumber; sourceSentence: z.ZodOptional>; }, z.core.$strip>; /** * Zod schema for ActionItemsResult. * Result of action item extraction from a transcript. */ declare const ActionItemsResultSchema: z.ZodObject<{ items: z.ZodArray; dueDate: z.ZodOptional; lineNumber: z.ZodNumber; sourceSentence: z.ZodOptional>; }, z.core.$strip>>; totalItems: z.ZodNumber; assignedItems: z.ZodNumber; datedItems: z.ZodNumber; assignees: z.ZodArray; }, z.core.$strip>; /** * Zod schema for SpeakerStats. * Statistics for a single speaker in the meeting. */ declare const SpeakerStatsSchema: z.ZodObject<{ name: z.ZodString; id: z.ZodString; talkTime: z.ZodNumber; talkTimePercentage: z.ZodNumber; sentenceCount: z.ZodNumber; wordCount: z.ZodNumber; wordsPerMinute: z.ZodNumber; averageSentenceLength: z.ZodNumber; turnCount: z.ZodNumber; }, z.core.$strip>; /** * Zod schema for SpeakerAnalytics. * Overall meeting speaker analytics. */ declare const SpeakerAnalyticsSchema: z.ZodObject<{ speakers: z.ZodArray>; totalDuration: z.ZodNumber; totalTalkTime: z.ZodNumber; totalSentences: z.ZodNumber; totalWords: z.ZodNumber; dominantSpeaker: z.ZodString; dominantSpeakerPercentage: z.ZodNumber; balance: z.ZodEnum<{ balanced: "balanced"; unbalanced: "unbalanced"; dominated: "dominated"; }>; }, z.core.$strip>; /** * Parse and validate data as an ActionItemsResult. * * Throws a ZodError if validation fails. * * @param data - Unknown data to validate * @returns Validated ActionItemsResult * @throws {z.ZodError} If validation fails * * @example * ```typescript * import { parseActionItemsResult } from 'fireflies-api/schemas'; * * const result = parseActionItemsResult(data); * console.log(result.totalItems); * ``` */ declare function parseActionItemsResult(data: unknown): ActionItemsResult; /** * Safely parse and validate data as an ActionItemsResult. * * Returns a result object with success/error instead of throwing. * * @param data - Unknown data to validate * @returns SafeParseResult with data on success, error on failure */ declare function safeParseActionItemsResult(data: unknown): z.ZodSafeParseResult<{ items: { text: string; lineNumber: number; assignee?: string | undefined; dueDate?: string | undefined; sourceSentence?: { speakerName: string; text: string; startTime: number; } | undefined; }[]; totalItems: number; assignedItems: number; datedItems: number; assignees: string[]; }>; /** * Parse and validate data as SpeakerAnalytics. * * Throws a ZodError if validation fails. * * @param data - Unknown data to validate * @returns Validated SpeakerAnalytics * @throws {z.ZodError} If validation fails * * @example * ```typescript * import { parseSpeakerAnalytics } from 'fireflies-api/schemas'; * * const analytics = parseSpeakerAnalytics(data); * console.log(analytics.dominantSpeaker); * ``` */ declare function parseSpeakerAnalytics(data: unknown): SpeakerAnalytics; /** * Safely parse and validate data as SpeakerAnalytics. * * Returns a result object with success/error instead of throwing. * * @param data - Unknown data to validate * @returns SafeParseResult with data on success, error on failure */ declare function safeParseSpeakerAnalytics(data: unknown): z.ZodSafeParseResult<{ speakers: { name: string; id: string; talkTime: number; talkTimePercentage: number; sentenceCount: number; wordCount: number; wordsPerMinute: number; averageSentenceLength: number; turnCount: number; }[]; totalDuration: number; totalTalkTime: number; totalSentences: number; totalWords: number; dominantSpeaker: string; dominantSpeakerPercentage: number; balance: "balanced" | "unbalanced" | "dominated"; }>; /** * Zod schema for NormalizedSpeaker. */ declare const NormalizedSpeakerSchema: z.ZodObject<{ id: z.ZodString; name: z.ZodString; }, z.core.$strip>; /** * Zod schema for NormalizedSentence. */ declare const NormalizedSentenceSchema: z.ZodObject<{ index: z.ZodNumber; speakerId: z.ZodString; speakerName: z.ZodString; text: z.ZodString; rawText: z.ZodString; startTime: z.ZodNumber; endTime: z.ZodNumber; sentiment: z.ZodOptional>; isQuestion: z.ZodOptional; isActionItem: z.ZodOptional; }, z.core.$strip>; /** * Zod schema for NormalizedParticipant. */ declare const NormalizedParticipantSchema: z.ZodObject<{ name: z.ZodString; email: z.ZodOptional; role: z.ZodOptional>; }, z.core.$strip>; /** * Zod schema for NormalizedSummary. */ declare const NormalizedSummarySchema: z.ZodObject<{ overview: z.ZodOptional; keyPoints: z.ZodOptional>; actionItems: z.ZodOptional; outline: z.ZodOptional; topics: z.ZodOptional>; }, z.core.$strip>; /** * Zod schema for NormalizedAttendee. */ declare const NormalizedAttendeeSchema: z.ZodObject<{ name: z.ZodString; email: z.ZodOptional; phoneNumber: z.ZodOptional; joinTime: z.ZodOptional; leaveTime: z.ZodOptional; }, z.core.$strip>; /** * Zod schema for NormalizedChannel. */ declare const NormalizedChannelSchema: z.ZodObject<{ id: z.ZodString; title: z.ZodString; isPrivate: z.ZodBoolean; }, z.core.$strip>; /** * Zod schema for NormalizedAnalytics. */ declare const NormalizedAnalyticsSchema: z.ZodObject<{ sentiments: z.ZodOptional>; }, z.core.$strip>; /** * Zod schema for NormalizedMeeting. * * Use this schema to validate unknown data against the NormalizedMeeting type. * * @example * ```typescript * import { NormalizedMeetingSchema } from 'fireflies-api/schemas'; * * const result = NormalizedMeetingSchema.safeParse(data); * if (result.success) { * const meeting = result.data; // NormalizedMeeting * } * ``` */ declare const NormalizedMeetingSchema: z.ZodObject<{ id: z.ZodString; title: z.ZodString; date: z.ZodDate; duration: z.ZodNumber; url: z.ZodString; speakers: z.ZodArray>; sentences: z.ZodArray>; isQuestion: z.ZodOptional; isActionItem: z.ZodOptional; }, z.core.$strip>>; participants: z.ZodArray; role: z.ZodOptional>; }, z.core.$strip>>; summary: z.ZodOptional; keyPoints: z.ZodOptional>; actionItems: z.ZodOptional; outline: z.ZodOptional; topics: z.ZodOptional>; }, z.core.$strip>>; attendees: z.ZodOptional; phoneNumber: z.ZodOptional; joinTime: z.ZodOptional; leaveTime: z.ZodOptional; }, z.core.$strip>>>; channels: z.ZodOptional>>; analytics: z.ZodOptional>; }, z.core.$strip>>; source: z.ZodObject<{ provider: z.ZodLiteral<"fireflies">; originalId: z.ZodString; rawData: z.ZodOptional; }, z.core.$strip>; }, z.core.$strip>; /** * Parse and validate data as a NormalizedMeeting. * * Throws a ZodError if validation fails. * * @param data - Unknown data to validate * @returns Validated NormalizedMeeting * @throws {z.ZodError} If validation fails * * @example * ```typescript * import { parseNormalizedMeeting } from 'fireflies-api/schemas'; * * try { * const meeting = parseNormalizedMeeting(untrustedData); * console.log(meeting.id); * } catch (e) { * console.error('Invalid data:', e); * } * ``` */ declare function parseNormalizedMeeting(data: unknown): NormalizedMeeting; /** * Safely parse and validate data as a NormalizedMeeting. * * Returns a result object with success/error instead of throwing. * * @param data - Unknown data to validate * @returns SafeParseResult with data on success, error on failure * * @example * ```typescript * import { safeParseNormalizedMeeting } from 'fireflies-api/schemas'; * * const result = safeParseNormalizedMeeting(untrustedData); * if (result.success) { * console.log(result.data.id); * } else { * console.error('Validation failed:', result.error); * } * ``` */ declare function safeParseNormalizedMeeting(data: unknown): z.ZodSafeParseResult<{ id: string; title: string; date: Date; duration: number; url: string; speakers: { id: string; name: string; }[]; sentences: { index: number; speakerId: string; speakerName: string; text: string; rawText: string; startTime: number; endTime: number; sentiment?: "positive" | "negative" | "neutral" | undefined; isQuestion?: boolean | undefined; isActionItem?: boolean | undefined; }[]; participants: { name: string; email?: string | undefined; role?: "organizer" | "attendee" | undefined; }[]; source: { provider: "fireflies"; originalId: string; rawData?: unknown; }; summary?: { overview?: string | undefined; keyPoints?: string[] | undefined; actionItems?: string | undefined; outline?: string | undefined; topics?: string[] | undefined; } | undefined; attendees?: { name: string; email?: string | undefined; phoneNumber?: string | undefined; joinTime?: Date | undefined; leaveTime?: Date | undefined; }[] | undefined; channels?: { id: string; title: string; isPrivate: boolean; }[] | undefined; analytics?: { sentiments?: { positive: number; neutral: number; negative: number; } | undefined; } | undefined; }>; /** * Zod schema for Speaker. */ declare const SpeakerSchema: z.ZodObject<{ id: z.ZodString; name: z.ZodString; }, z.core.$strip>; /** * Zod schema for AIFilter. * All fields are optional AI-detected content filters for a sentence. */ declare const AIFilterSchema: z.ZodObject<{ task: z.ZodOptional; pricing: z.ZodOptional; metric: z.ZodOptional; question: z.ZodOptional; date_and_time: z.ZodOptional; text_cleanup: z.ZodOptional; sentiment: z.ZodOptional; }, z.core.$strip>; /** * Zod schema for Sentence. */ declare const SentenceSchema: z.ZodObject<{ index: z.ZodNumber; text: z.ZodString; raw_text: z.ZodString; start_time: z.ZodString; end_time: z.ZodString; speaker_id: z.ZodString; speaker_name: z.ZodString; ai_filters: z.ZodOptional; pricing: z.ZodOptional; metric: z.ZodOptional; question: z.ZodOptional; date_and_time: z.ZodOptional; text_cleanup: z.ZodOptional; sentiment: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>; /** * Zod schema for SummarySection. */ declare const SummarySectionSchema: z.ZodObject<{ title: z.ZodString; content: z.ZodString; }, z.core.$strip>; /** * Zod schema for Summary. * AI-generated meeting summary sections. */ declare const SummarySchema: z.ZodObject<{ action_items: z.ZodOptional; keywords: z.ZodOptional; outline: z.ZodOptional; overview: z.ZodOptional; shorthand_bullet: z.ZodOptional; notes: z.ZodOptional; gist: z.ZodOptional; bullet_gist: z.ZodOptional; short_summary: z.ZodOptional; short_overview: z.ZodOptional; meeting_type: z.ZodOptional; topics_discussed: z.ZodOptional>; transcript_chapters: z.ZodOptional>; extended_sections: z.ZodOptional>>; }, z.core.$strip>; /** * Zod schema for MeetingAttendee. * Attendee information from calendar invite. */ declare const MeetingAttendeeSchema: z.ZodObject<{ displayName: z.ZodString; email: z.ZodString; phoneNumber: z.ZodOptional; name: z.ZodString; location: z.ZodOptional; }, z.core.$strip>; /** * Zod schema for MeetingAttendance. * Attendance tracking with join/leave times. */ declare const MeetingAttendanceSchema: z.ZodObject<{ name: z.ZodString; join_time: z.ZodString; leave_time: z.ZodOptional; }, z.core.$strip>; /** * Summary processing status enum. */ declare const SummaryStatusSchema: z.ZodEnum<{ processing: "processing"; processed: "processed"; failed: "failed"; skipped: "skipped"; }>; /** * Zod schema for MeetingInfo. * Meeting metadata and processing status. */ declare const MeetingInfoSchema: z.ZodObject<{ fred_joined: z.ZodBoolean; silent_meeting: z.ZodBoolean; summary_status: z.ZodEnum<{ processing: "processing"; processed: "processed"; failed: "failed"; skipped: "skipped"; }>; }, z.core.$strip>; /** * Zod schema for ChannelMember. */ declare const ChannelMemberSchema: z.ZodObject<{ user_id: z.ZodString; email: z.ZodString; name: z.ZodString; }, z.core.$strip>; /** * Zod schema for Channel. */ declare const ChannelSchema: z.ZodObject<{ id: z.ZodString; title: z.ZodString; is_private: z.ZodOptional; created_at: z.ZodOptional; updated_at: z.ZodOptional; created_by: z.ZodOptional; members: z.ZodOptional>>; }, z.core.$strip>; /** * Zod schema for AIAppOutput. */ declare const AIAppOutputSchema: z.ZodObject<{ transcript_id: z.ZodOptional; user_id: z.ZodOptional; app_id: z.ZodOptional; created_at: z.ZodOptional; title: z.ZodOptional; prompt: z.ZodOptional; response: z.ZodOptional; }, z.core.$strip>; /** * Zod schema for AppsPreview. */ declare const AppsPreviewSchema: z.ZodObject<{ outputs: z.ZodArray; user_id: z.ZodOptional; app_id: z.ZodOptional; created_at: z.ZodOptional; title: z.ZodOptional; prompt: z.ZodOptional; response: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>; /** * Zod schema for Sentiments. * Sentiment percentages for a meeting (0-100). */ declare const SentimentsSchema: z.ZodObject<{ negative_pct: z.ZodOptional; neutral_pct: z.ZodOptional; positive_pct: z.ZodOptional; }, z.core.$strip>; /** * Zod schema for MeetingAnalytics. */ declare const MeetingAnalyticsSchema: z.ZodObject<{ sentiments: z.ZodOptional; neutral_pct: z.ZodOptional; positive_pct: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>; /** * Zod schema for User. */ declare const UserSchema: z.ZodObject<{ user_id: z.ZodString; email: z.ZodString; name: z.ZodOptional; num_transcripts: z.ZodOptional; is_admin: z.ZodOptional; }, z.core.$strip>; /** * Zod schema for Transcript. * * Use this schema to validate unknown data against the Transcript type. * * @example * ```typescript * import { TranscriptSchema } from 'fireflies-api/schemas'; * * const result = TranscriptSchema.safeParse(apiResponse); * if (result.success) { * const transcript = result.data; * } * ``` */ declare const TranscriptSchema: z.ZodObject<{ id: z.ZodString; title: z.ZodString; organizer_email: z.ZodString; host_email: z.ZodOptional; user: z.ZodOptional; num_transcripts: z.ZodOptional; is_admin: z.ZodOptional; }, z.core.$strip>>; speakers: z.ZodArray>; transcript_url: z.ZodString; participants: z.ZodArray; meeting_attendees: z.ZodArray; name: z.ZodString; location: z.ZodOptional; }, z.core.$strip>>; meeting_attendance: z.ZodArray; }, z.core.$strip>>; fireflies_users: z.ZodArray; workspace_users: z.ZodArray; duration: z.ZodNumber; dateString: z.ZodString; date: z.ZodNumber; audio_url: z.ZodOptional; video_url: z.ZodOptional; sentences: z.ZodArray; pricing: z.ZodOptional; metric: z.ZodOptional; question: z.ZodOptional; date_and_time: z.ZodOptional; text_cleanup: z.ZodOptional; sentiment: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>>; calendar_id: z.ZodOptional; summary: z.ZodOptional; keywords: z.ZodOptional; outline: z.ZodOptional; overview: z.ZodOptional; shorthand_bullet: z.ZodOptional; notes: z.ZodOptional; gist: z.ZodOptional; bullet_gist: z.ZodOptional; short_summary: z.ZodOptional; short_overview: z.ZodOptional; meeting_type: z.ZodOptional; topics_discussed: z.ZodOptional>; transcript_chapters: z.ZodOptional>; extended_sections: z.ZodOptional>>; }, z.core.$strip>>; meeting_info: z.ZodOptional; }, z.core.$strip>>; cal_id: z.ZodOptional; calendar_type: z.ZodOptional; apps_preview: z.ZodOptional; user_id: z.ZodOptional; app_id: z.ZodOptional; created_at: z.ZodOptional; title: z.ZodOptional; prompt: z.ZodOptional; response: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>>; meeting_link: z.ZodOptional; analytics: z.ZodOptional; neutral_pct: z.ZodOptional; positive_pct: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>>; channels: z.ZodArray; created_at: z.ZodOptional; updated_at: z.ZodOptional; created_by: z.ZodOptional; members: z.ZodOptional>>; }, z.core.$strip>>; }, z.core.$strip>; /** * Parse and validate data as a Transcript. * * Throws a ZodError if validation fails. * * @param data - Unknown data to validate * @returns Validated Transcript * @throws {z.ZodError} If validation fails * * @example * ```typescript * import { parseTranscript } from 'fireflies-api/schemas'; * * try { * const transcript = parseTranscript(apiResponse); * console.log(transcript.title); * } catch (e) { * console.error('Invalid data:', e); * } * ``` */ declare function parseTranscript(data: unknown): Transcript; /** * Safely parse and validate data as a Transcript. * * Returns a result object with success/error instead of throwing. * * @param data - Unknown data to validate * @returns SafeParseResult with data on success, error on failure * * @example * ```typescript * import { safeParseTranscript } from 'fireflies-api/schemas'; * * const result = safeParseTranscript(apiResponse); * if (result.success) { * console.log(result.data.title); * } else { * console.error('Validation failed:', result.error); * } * ``` */ declare function safeParseTranscript(data: unknown): z.ZodSafeParseResult<{ id: string; title: string; organizer_email: string; speakers: { id: string; name: string; }[]; transcript_url: string; participants: string[]; meeting_attendees: { displayName: string; email: string; name: string; phoneNumber?: string | undefined; location?: string | undefined; }[]; meeting_attendance: { name: string; join_time: string; leave_time?: string | undefined; }[]; fireflies_users: string[]; workspace_users: string[]; duration: number; dateString: string; date: number; sentences: { index: number; text: string; raw_text: string; start_time: string; end_time: string; speaker_id: string; speaker_name: string; ai_filters?: { task?: string | undefined; pricing?: string | undefined; metric?: string | undefined; question?: string | undefined; date_and_time?: string | undefined; text_cleanup?: string | undefined; sentiment?: string | undefined; } | undefined; }[]; channels: { id: string; title: string; is_private?: boolean | undefined; created_at?: string | undefined; updated_at?: string | undefined; created_by?: string | undefined; members?: { user_id: string; email: string; name: string; }[] | undefined; }[]; host_email?: string | undefined; user?: { user_id: string; email: string; name?: string | undefined; num_transcripts?: number | undefined; is_admin?: boolean | undefined; } | undefined; audio_url?: string | undefined; video_url?: string | undefined; calendar_id?: string | undefined; summary?: { action_items?: string | undefined; keywords?: string | undefined; outline?: string | undefined; overview?: string | undefined; shorthand_bullet?: string | undefined; notes?: string | undefined; gist?: string | undefined; bullet_gist?: string | undefined; short_summary?: string | undefined; short_overview?: string | undefined; meeting_type?: string | undefined; topics_discussed?: string[] | undefined; transcript_chapters?: string[] | undefined; extended_sections?: { title: string; content: string; }[] | undefined; } | undefined; meeting_info?: { fred_joined: boolean; silent_meeting: boolean; summary_status: "processing" | "processed" | "failed" | "skipped"; } | undefined; cal_id?: string | undefined; calendar_type?: string | undefined; apps_preview?: { outputs: { transcript_id?: string | undefined; user_id?: string | undefined; app_id?: string | undefined; created_at?: number | undefined; title?: string | undefined; prompt?: string | undefined; response?: string | undefined; }[]; } | undefined; meeting_link?: string | undefined; analytics?: { sentiments?: { negative_pct?: number | undefined; neutral_pct?: number | undefined; positive_pct?: number | undefined; } | undefined; } | undefined; }>; export { AIAppOutputSchema, AIFilterSchema, ActionItemSchema, ActionItemSourceSentenceSchema, ActionItemsResultSchema, AppsPreviewSchema, ChannelMemberSchema, ChannelSchema, MeetingAnalyticsSchema, MeetingAttendanceSchema, MeetingAttendeeSchema, MeetingInfoSchema, NormalizedAnalyticsSchema, NormalizedAttendeeSchema, NormalizedChannelSchema, NormalizedMeetingSchema, NormalizedParticipantSchema, NormalizedSentenceSchema, NormalizedSpeakerSchema, NormalizedSummarySchema, SentenceSchema, SentimentsSchema, SpeakerAnalyticsSchema, SpeakerSchema, SpeakerStatsSchema, SummarySchema, SummarySectionSchema, SummaryStatusSchema, TranscriptSchema, UserSchema, parseActionItemsResult, parseNormalizedMeeting, parseSpeakerAnalytics, parseTranscript, safeParseActionItemsResult, safeParseNormalizedMeeting, safeParseSpeakerAnalytics, safeParseTranscript };