/** * Zod schemas for Gong API request/response validation * Based on Gong API v2 documentation * https://gong.app.gong.io/settings/api/documentation */ import { z } from 'zod'; /** * ISO 8601 datetime string validation * Accepts formats like: 2024-01-01T00:00:00Z or 2024-01-01T00:00:00-07:00 */ export declare const iso8601DateTimeSchema: z.ZodString; /** * Gong ID validation - numeric string up to 20 digits */ export declare const gongIdSchema: z.ZodString; /** * Pagination cursor - opaque string from API */ export declare const cursorSchema: z.ZodString; /** * GET /v2/calls - List calls request parameters */ export declare const listCallsRequestSchema: z.ZodObject<{ fromDateTime: z.ZodOptional; toDateTime: z.ZodOptional; workspaceId: z.ZodOptional; cursor: z.ZodOptional; }, z.core.$strip>; export type ListCallsRequest = z.infer; /** * Valid values for the search_calls include parameter. * Controls which additional content fields are returned beyond the defaults. */ export declare const searchCallsIncludeSchema: z.ZodEnum<{ comments: "comments"; context: "context"; highlights: "highlights"; keyPoints: "keyPoints"; media: "media"; outline: "outline"; speakers: "speakers"; trackers: "trackers"; }>; export type SearchCallsInclude = z.infer; /** * POST /v2/calls/extensive - Search calls with filters */ export declare const searchCallsRequestSchema: z.ZodObject<{ fromDateTime: z.ZodOptional; toDateTime: z.ZodOptional; workspaceId: z.ZodOptional; primaryUserIds: z.ZodOptional>; primaryUserEmails: z.ZodOptional>; excludePrimaryUserIds: z.ZodOptional>; callIds: z.ZodOptional>; participantUserIds: z.ZodOptional>; excludeParticipantUserIds: z.ZodOptional>; participantEmails: z.ZodOptional>; excludeParticipantEmails: z.ZodOptional>; customerName: z.ZodOptional; titleContains: z.ZodOptional; trackers: z.ZodOptional>; scope: z.ZodOptional>; direction: z.ZodOptional>; system: z.ZodOptional; language: z.ZodOptional; minDuration: z.ZodOptional; maxDuration: z.ZodOptional; include: z.ZodOptional>>; }, z.core.$strip>; export type SearchCallsRequest = z.infer; /** * Get call summary - single call ID */ export declare const getCallSummaryRequestSchema: z.ZodObject<{ callId: z.ZodString; }, z.core.$strip>; export type GetCallSummaryRequest = z.infer; /** * Get call transcript - single call ID with optional truncation * Default maxLength is 10000 characters (~10KB) to prevent context overflow */ export declare const getCallTranscriptRequestSchema: z.ZodObject<{ callId: z.ZodString; maxLength: z.ZodDefault; offset: z.ZodDefault; }, z.core.$strip>; export type GetCallTranscriptRequest = z.infer; /** * GET /v2/users - List users request parameters */ export declare const listUsersRequestSchema: z.ZodObject<{ cursor: z.ZodOptional; includeAvatars: z.ZodOptional; }, z.core.$strip>; export type ListUsersRequest = z.infer; /** * Pagination records info in responses */ export declare const recordsSchema: z.ZodObject<{ cursor: z.ZodOptional; totalRecords: z.ZodNumber; currentPageSize: z.ZodNumber; currentPageNumber: z.ZodNumber; }, z.core.$strip>; /** * Call scope enum */ export declare const callScopeSchema: z.ZodEnum<{ External: "External"; Internal: "Internal"; Unknown: "Unknown"; }>; /** * Call direction enum */ export declare const callDirectionSchema: z.ZodEnum<{ Conference: "Conference"; Inbound: "Inbound"; Outbound: "Outbound"; Unknown: "Unknown"; }>; /** * Call media type enum */ export declare const callMediaSchema: z.ZodEnum<{ Audio: "Audio"; Video: "Video"; }>; /** * Basic call data from GET /v2/calls * Note: Gong API returns null for empty fields, so we use .nullish() */ export declare const callSchema: z.ZodObject<{ id: z.ZodString; title: z.ZodOptional>; scheduled: z.ZodOptional>; started: z.ZodOptional>; duration: z.ZodOptional>; primaryUserId: z.ZodOptional>; direction: z.ZodOptional>; scope: z.ZodOptional>; media: z.ZodOptional>; language: z.ZodOptional>; workspaceId: z.ZodOptional>; url: z.ZodOptional>; }, z.core.$strip>; export type Call = z.infer; /** * GET /v2/calls response */ export declare const callsResponseSchema: z.ZodObject<{ requestId: z.ZodString; records: z.ZodObject<{ cursor: z.ZodOptional; totalRecords: z.ZodNumber; currentPageSize: z.ZodNumber; currentPageNumber: z.ZodNumber; }, z.core.$strip>; calls: z.ZodArray>; scheduled: z.ZodOptional>; started: z.ZodOptional>; duration: z.ZodOptional>; primaryUserId: z.ZodOptional>; direction: z.ZodOptional>; scope: z.ZodOptional>; media: z.ZodOptional>; language: z.ZodOptional>; workspaceId: z.ZodOptional>; url: z.ZodOptional>; }, z.core.$strip>>; }, z.core.$strip>; export type CallsResponse = z.infer; /** * Sentence in a transcript */ export declare const sentenceSchema: z.ZodObject<{ start: z.ZodNumber; end: z.ZodNumber; text: z.ZodString; }, z.core.$strip>; /** * Monologue (speaker segment) in a transcript */ export declare const transcriptEntrySchema: z.ZodObject<{ speakerId: z.ZodString; topic: z.ZodOptional>; sentences: z.ZodArray>; }, z.core.$strip>; export type TranscriptEntry = z.infer; /** * Call transcript */ export declare const callTranscriptSchema: z.ZodObject<{ callId: z.ZodString; transcript: z.ZodArray>; sentences: z.ZodArray>; }, z.core.$strip>>; }, z.core.$strip>; export type CallTranscript = z.infer; /** * POST /v2/calls/transcript response */ export declare const transcriptsResponseSchema: z.ZodObject<{ requestId: z.ZodString; records: z.ZodObject<{ cursor: z.ZodOptional; totalRecords: z.ZodNumber; currentPageSize: z.ZodNumber; currentPageNumber: z.ZodNumber; }, z.core.$strip>; callTranscripts: z.ZodArray>; sentences: z.ZodArray>; }, z.core.$strip>>; }, z.core.$strip>>; }, z.core.$strip>; export type TranscriptsResponse = z.infer; /** * Spoken language settings */ export declare const spokenLanguageSchema: z.ZodObject<{ language: z.ZodString; primary: z.ZodBoolean; }, z.core.$strip>; /** * User settings */ export declare const userSettingsSchema: z.ZodObject<{ webConferencesRecorded: z.ZodOptional>; preventWebConferenceRecording: z.ZodOptional>; telephonyCallsRecorded: z.ZodOptional>; emailsRecorded: z.ZodOptional>; preventEmailRecording: z.ZodOptional>; nonRecordedMeetingsDefaultPrivacy: z.ZodOptional>; gpiSettings: z.ZodOptional>; emailsImported: z.ZodOptional>; }, z.core.$strip>; /** * User data * Note: Gong API returns null for empty fields */ export declare const userSchema: z.ZodObject<{ id: z.ZodString; emailAddress: z.ZodOptional>; created: z.ZodOptional>; active: z.ZodOptional>; emailAliases: z.ZodOptional>>; trustedEmailAddress: z.ZodOptional>; firstName: z.ZodOptional>; lastName: z.ZodOptional>; title: z.ZodOptional>; phoneNumber: z.ZodOptional>; extension: z.ZodOptional>; personalMeetingUrls: z.ZodOptional>>; settings: z.ZodOptional>; preventWebConferenceRecording: z.ZodOptional>; telephonyCallsRecorded: z.ZodOptional>; emailsRecorded: z.ZodOptional>; preventEmailRecording: z.ZodOptional>; nonRecordedMeetingsDefaultPrivacy: z.ZodOptional>; gpiSettings: z.ZodOptional>; emailsImported: z.ZodOptional>; }, z.core.$strip>>>; managerId: z.ZodOptional>; meetingConsentPageUrl: z.ZodOptional>; spokenLanguages: z.ZodOptional>>>; }, z.core.$strip>; export type User = z.infer; /** * GET /v2/users response */ export declare const usersResponseSchema: z.ZodObject<{ requestId: z.ZodString; records: z.ZodObject<{ cursor: z.ZodOptional; totalRecords: z.ZodNumber; currentPageSize: z.ZodNumber; currentPageNumber: z.ZodNumber; }, z.core.$strip>; users: z.ZodArray>; created: z.ZodOptional>; active: z.ZodOptional>; emailAliases: z.ZodOptional>>; trustedEmailAddress: z.ZodOptional>; firstName: z.ZodOptional>; lastName: z.ZodOptional>; title: z.ZodOptional>; phoneNumber: z.ZodOptional>; extension: z.ZodOptional>; personalMeetingUrls: z.ZodOptional>>; settings: z.ZodOptional>; preventWebConferenceRecording: z.ZodOptional>; telephonyCallsRecorded: z.ZodOptional>; emailsRecorded: z.ZodOptional>; preventEmailRecording: z.ZodOptional>; nonRecordedMeetingsDefaultPrivacy: z.ZodOptional>; gpiSettings: z.ZodOptional>; emailsImported: z.ZodOptional>; }, z.core.$strip>>>; managerId: z.ZodOptional>; meetingConsentPageUrl: z.ZodOptional>; spokenLanguages: z.ZodOptional>>>; }, z.core.$strip>>; }, z.core.$strip>; export type UsersResponse = z.infer; /** * Party (participant) in a call * Note: Gong API returns null for empty fields */ export declare const partySchema: z.ZodObject<{ id: z.ZodOptional>; emailAddress: z.ZodOptional>; name: z.ZodOptional>; title: z.ZodOptional>; userId: z.ZodOptional>; speakerId: z.ZodOptional>; context: z.ZodOptional>; objects: z.ZodOptional>; objectId: z.ZodOptional>; fields: z.ZodOptional>; }, z.core.$strip>>>>; }, z.core.$strip>>>>; }, z.core.$strip>>>>; affiliation: z.ZodOptional>; phoneNumber: z.ZodOptional>; methods: z.ZodOptional>>; }, z.core.$strip>; /** * Tracker occurrence */ export declare const trackerOccurrenceSchema: z.ZodObject<{ startTime: z.ZodNumber; speakerId: z.ZodOptional>; }, z.core.$strip>; /** * Tracker in call content */ export declare const trackerSchema: z.ZodObject<{ id: z.ZodString; name: z.ZodString; count: z.ZodNumber; type: z.ZodOptional>; occurrences: z.ZodOptional>; }, z.core.$strip>>>>; }, z.core.$strip>; /** * Topic in call content */ export declare const topicSchema: z.ZodObject<{ name: z.ZodString; duration: z.ZodNumber; }, z.core.$strip>; /** * Action item in call */ export declare const actionItemSchema: z.ZodObject<{ snippetStartTime: z.ZodOptional>; snippetEndTime: z.ZodOptional>; speakerIds: z.ZodOptional>>; snippet: z.ZodOptional>; }, z.core.$strip>; /** * Outline item */ export declare const outlineItemSchema: z.ZodObject<{ text: z.ZodString; startTime: z.ZodOptional>; }, z.core.$strip>; /** * Outline section */ export declare const outlineSectionSchema: z.ZodObject<{ section: z.ZodString; startTime: z.ZodOptional>; duration: z.ZodOptional>; items: z.ZodOptional>; }, z.core.$strip>>>>; }, z.core.$strip>; /** * Call outcome */ export declare const callOutcomeSchema: z.ZodObject<{ id: z.ZodOptional>; category: z.ZodOptional>; name: z.ZodOptional>; }, z.core.$strip>; /** * Key point */ export declare const keyPointSchema: z.ZodObject<{ text: z.ZodString; }, z.core.$strip>; /** * Highlight item within a highlight section */ export declare const highlightItemSchema: z.ZodObject<{ text: z.ZodOptional>; startTimes: z.ZodOptional>>; }, z.core.$strip>; /** * Highlight section grouping related highlights */ export declare const highlightSectionSchema: z.ZodObject<{ title: z.ZodOptional>; items: z.ZodOptional>; startTimes: z.ZodOptional>>; }, z.core.$strip>>>>; }, z.core.$strip>; /** * Call content (detailed data) */ export declare const callContentSchema: z.ZodObject<{ trackers: z.ZodOptional>; occurrences: z.ZodOptional>; }, z.core.$strip>>>>; }, z.core.$strip>>>>; topics: z.ZodOptional>>>; pointsOfInterest: z.ZodOptional>; snippetEndTime: z.ZodOptional>; speakerIds: z.ZodOptional>>; snippet: z.ZodOptional>; }, z.core.$strip>>>>; }, z.core.$strip>>>; brief: z.ZodOptional>; outline: z.ZodOptional>; duration: z.ZodOptional>; items: z.ZodOptional>; }, z.core.$strip>>>>; }, z.core.$strip>>>>; highlights: z.ZodOptional>; items: z.ZodOptional>; startTimes: z.ZodOptional>>; }, z.core.$strip>>>>; }, z.core.$strip>>>>; callOutcome: z.ZodOptional>; category: z.ZodOptional>; name: z.ZodOptional>; }, z.core.$strip>>>; keyPoints: z.ZodOptional>>>; }, z.core.$strip>; /** * Speaker stats */ export declare const speakerSchema: z.ZodObject<{ id: z.ZodString; visibility: z.ZodOptional>; talkTime: z.ZodOptional>; }, z.core.$strip>; /** * Video segment */ export declare const videoSegmentSchema: z.ZodObject<{ name: z.ZodString; duration: z.ZodNumber; }, z.core.$strip>; /** * Call interaction data */ export declare const interactionSchema: z.ZodObject<{ speakers: z.ZodOptional>; talkTime: z.ZodOptional>; }, z.core.$strip>>>>; interactivity: z.ZodOptional>; video: z.ZodOptional>>>; questions: z.ZodOptional>; nonCompanyCount: z.ZodOptional>; }, z.core.$strip>>>; }, z.core.$strip>; /** * Public comment */ export declare const publicCommentSchema: z.ZodObject<{ id: z.ZodString; audioStartTime: z.ZodOptional>; audioEndTime: z.ZodOptional>; commenterUserId: z.ZodOptional>; comment: z.ZodOptional>; posted: z.ZodOptional>; inReplyTo: z.ZodOptional>; duringCall: z.ZodOptional>; }, z.core.$strip>; /** * Call collaboration data */ export declare const collaborationSchema: z.ZodObject<{ publicComments: z.ZodOptional>; audioEndTime: z.ZodOptional>; commenterUserId: z.ZodOptional>; comment: z.ZodOptional>; posted: z.ZodOptional>; inReplyTo: z.ZodOptional>; duringCall: z.ZodOptional>; }, z.core.$strip>>>>; }, z.core.$strip>; /** * Call media URLs */ export declare const mediaSchema: z.ZodObject<{ audioUrl: z.ZodOptional>; videoUrl: z.ZodOptional>; }, z.core.$strip>; /** * Call metadata * Note: Gong API returns null for empty fields, so we use .nullish() (allows null | undefined) */ export declare const callMetadataSchema: z.ZodObject<{ id: z.ZodString; url: z.ZodOptional>; title: z.ZodOptional>; scheduled: z.ZodOptional>; started: z.ZodOptional>; duration: z.ZodOptional>; primaryUserId: z.ZodOptional>; direction: z.ZodOptional>; system: z.ZodOptional>; scope: z.ZodOptional>; media: z.ZodOptional>; language: z.ZodOptional>; workspaceId: z.ZodOptional>; sdrDisposition: z.ZodOptional>; clientUniqueId: z.ZodOptional>; customData: z.ZodOptional>; purpose: z.ZodOptional>; meetingUrl: z.ZodOptional>; isPrivate: z.ZodOptional>; calendarEventId: z.ZodOptional>; }, z.core.$strip>; /** * Context object field */ export declare const contextFieldSchema: z.ZodObject<{ name: z.ZodString; value: z.ZodOptional>; }, z.core.$strip>; /** * Context object (CRM, etc) */ export declare const contextObjectSchema: z.ZodObject<{ objectType: z.ZodOptional>; objectId: z.ZodOptional>; fields: z.ZodOptional>; }, z.core.$strip>>>>; timing: z.ZodOptional>; }, z.core.$strip>; /** * Context (external system links) */ export declare const contextSchema: z.ZodObject<{ system: z.ZodOptional>; objects: z.ZodOptional>; objectId: z.ZodOptional>; fields: z.ZodOptional>; }, z.core.$strip>>>>; timing: z.ZodOptional>; }, z.core.$strip>>>>; }, z.core.$strip>; /** * Detailed call data from POST /v2/calls/extensive */ export declare const callDetailsSchema: z.ZodObject<{ metaData: z.ZodObject<{ id: z.ZodString; url: z.ZodOptional>; title: z.ZodOptional>; scheduled: z.ZodOptional>; started: z.ZodOptional>; duration: z.ZodOptional>; primaryUserId: z.ZodOptional>; direction: z.ZodOptional>; system: z.ZodOptional>; scope: z.ZodOptional>; media: z.ZodOptional>; language: z.ZodOptional>; workspaceId: z.ZodOptional>; sdrDisposition: z.ZodOptional>; clientUniqueId: z.ZodOptional>; customData: z.ZodOptional>; purpose: z.ZodOptional>; meetingUrl: z.ZodOptional>; isPrivate: z.ZodOptional>; calendarEventId: z.ZodOptional>; }, z.core.$strip>; context: z.ZodOptional>; objects: z.ZodOptional>; objectId: z.ZodOptional>; fields: z.ZodOptional>; }, z.core.$strip>>>>; timing: z.ZodOptional>; }, z.core.$strip>>>>; }, z.core.$strip>>>>; parties: z.ZodOptional>; emailAddress: z.ZodOptional>; name: z.ZodOptional>; title: z.ZodOptional>; userId: z.ZodOptional>; speakerId: z.ZodOptional>; context: z.ZodOptional>; objects: z.ZodOptional>; objectId: z.ZodOptional>; fields: z.ZodOptional>; }, z.core.$strip>>>>; }, z.core.$strip>>>>; }, z.core.$strip>>>>; affiliation: z.ZodOptional>; phoneNumber: z.ZodOptional>; methods: z.ZodOptional>>; }, z.core.$strip>>>>; content: z.ZodOptional>; occurrences: z.ZodOptional>; }, z.core.$strip>>>>; }, z.core.$strip>>>>; topics: z.ZodOptional>>>; pointsOfInterest: z.ZodOptional>; snippetEndTime: z.ZodOptional>; speakerIds: z.ZodOptional>>; snippet: z.ZodOptional>; }, z.core.$strip>>>>; }, z.core.$strip>>>; brief: z.ZodOptional>; outline: z.ZodOptional>; duration: z.ZodOptional>; items: z.ZodOptional>; }, z.core.$strip>>>>; }, z.core.$strip>>>>; highlights: z.ZodOptional>; items: z.ZodOptional>; startTimes: z.ZodOptional>>; }, z.core.$strip>>>>; }, z.core.$strip>>>>; callOutcome: z.ZodOptional>; category: z.ZodOptional>; name: z.ZodOptional>; }, z.core.$strip>>>; keyPoints: z.ZodOptional>>>; }, z.core.$strip>>>; interaction: z.ZodOptional>; talkTime: z.ZodOptional>; }, z.core.$strip>>>>; interactivity: z.ZodOptional>; video: z.ZodOptional>>>; questions: z.ZodOptional>; nonCompanyCount: z.ZodOptional>; }, z.core.$strip>>>; }, z.core.$strip>>>; collaboration: z.ZodOptional>; audioEndTime: z.ZodOptional>; commenterUserId: z.ZodOptional>; comment: z.ZodOptional>; posted: z.ZodOptional>; inReplyTo: z.ZodOptional>; duringCall: z.ZodOptional>; }, z.core.$strip>>>>; }, z.core.$strip>>>; media: z.ZodOptional>; videoUrl: z.ZodOptional>; }, z.core.$strip>>>; }, z.core.$strip>; export type CallDetails = z.infer; /** * POST /v2/calls/extensive response */ export declare const callDetailsResponseSchema: z.ZodObject<{ requestId: z.ZodString; records: z.ZodObject<{ totalRecords: z.ZodNumber; currentPageSize: z.ZodNumber; currentPageNumber: z.ZodNumber; cursor: z.ZodOptional; }, z.core.$strip>; calls: z.ZodArray>; title: z.ZodOptional>; scheduled: z.ZodOptional>; started: z.ZodOptional>; duration: z.ZodOptional>; primaryUserId: z.ZodOptional>; direction: z.ZodOptional>; system: z.ZodOptional>; scope: z.ZodOptional>; media: z.ZodOptional>; language: z.ZodOptional>; workspaceId: z.ZodOptional>; sdrDisposition: z.ZodOptional>; clientUniqueId: z.ZodOptional>; customData: z.ZodOptional>; purpose: z.ZodOptional>; meetingUrl: z.ZodOptional>; isPrivate: z.ZodOptional>; calendarEventId: z.ZodOptional>; }, z.core.$strip>; context: z.ZodOptional>; objects: z.ZodOptional>; objectId: z.ZodOptional>; fields: z.ZodOptional>; }, z.core.$strip>>>>; timing: z.ZodOptional>; }, z.core.$strip>>>>; }, z.core.$strip>>>>; parties: z.ZodOptional>; emailAddress: z.ZodOptional>; name: z.ZodOptional>; title: z.ZodOptional>; userId: z.ZodOptional>; speakerId: z.ZodOptional>; context: z.ZodOptional>; objects: z.ZodOptional>; objectId: z.ZodOptional>; fields: z.ZodOptional>; }, z.core.$strip>>>>; }, z.core.$strip>>>>; }, z.core.$strip>>>>; affiliation: z.ZodOptional>; phoneNumber: z.ZodOptional>; methods: z.ZodOptional>>; }, z.core.$strip>>>>; content: z.ZodOptional>; occurrences: z.ZodOptional>; }, z.core.$strip>>>>; }, z.core.$strip>>>>; topics: z.ZodOptional>>>; pointsOfInterest: z.ZodOptional>; snippetEndTime: z.ZodOptional>; speakerIds: z.ZodOptional>>; snippet: z.ZodOptional>; }, z.core.$strip>>>>; }, z.core.$strip>>>; brief: z.ZodOptional>; outline: z.ZodOptional>; duration: z.ZodOptional>; items: z.ZodOptional>; }, z.core.$strip>>>>; }, z.core.$strip>>>>; highlights: z.ZodOptional>; items: z.ZodOptional>; startTimes: z.ZodOptional>>; }, z.core.$strip>>>>; }, z.core.$strip>>>>; callOutcome: z.ZodOptional>; category: z.ZodOptional>; name: z.ZodOptional>; }, z.core.$strip>>>; keyPoints: z.ZodOptional>>>; }, z.core.$strip>>>; interaction: z.ZodOptional>; talkTime: z.ZodOptional>; }, z.core.$strip>>>>; interactivity: z.ZodOptional>; video: z.ZodOptional>>>; questions: z.ZodOptional>; nonCompanyCount: z.ZodOptional>; }, z.core.$strip>>>; }, z.core.$strip>>>; collaboration: z.ZodOptional>; audioEndTime: z.ZodOptional>; commenterUserId: z.ZodOptional>; comment: z.ZodOptional>; posted: z.ZodOptional>; inReplyTo: z.ZodOptional>; duringCall: z.ZodOptional>; }, z.core.$strip>>>>; }, z.core.$strip>>>; media: z.ZodOptional>; videoUrl: z.ZodOptional>; }, z.core.$strip>>>; }, z.core.$strip>>; }, z.core.$strip>; export type CallDetailsResponse = z.infer; /** * Validate and parse list calls request */ export declare function validateListCallsRequest(input: unknown): ListCallsRequest; /** * Validate and parse search calls request */ export declare function validateSearchCallsRequest(input: unknown): SearchCallsRequest; /** * Validate and parse get call summary request */ export declare function validateGetCallSummaryRequest(input: unknown): GetCallSummaryRequest; /** * Validate and parse get call transcript request */ export declare function validateGetCallTranscriptRequest(input: unknown): GetCallTranscriptRequest; /** * Validate and parse list users request */ export declare function validateListUsersRequest(input: unknown): ListUsersRequest; /** * Parse and validate calls response */ export declare function parseCallsResponse(data: unknown): CallsResponse; /** * Parse and validate call details response */ export declare function parseCallDetailsResponse(data: unknown): CallDetailsResponse; /** * Parse and validate transcripts response */ export declare function parseTranscriptsResponse(data: unknown): TranscriptsResponse; /** * Parse and validate users response */ export declare function parseUsersResponse(data: unknown): UsersResponse; export declare const getCallRequestSchema: z.ZodObject<{ callId: z.ZodString; }, z.core.$strip>; export type GetCallRequest = z.infer; export declare const singleCallResponseSchema: z.ZodObject<{ requestId: z.ZodOptional; call: z.ZodObject<{ id: z.ZodString; url: z.ZodOptional>; title: z.ZodOptional>; scheduled: z.ZodOptional>; started: z.ZodOptional>; duration: z.ZodOptional>; primaryUserId: z.ZodOptional>; direction: z.ZodOptional>; system: z.ZodOptional>; scope: z.ZodOptional>; media: z.ZodOptional>; language: z.ZodOptional>; workspaceId: z.ZodOptional>; sdrDisposition: z.ZodOptional>; clientUniqueId: z.ZodOptional>; customData: z.ZodOptional>; purpose: z.ZodOptional>; meetingUrl: z.ZodOptional>; isPrivate: z.ZodOptional>; calendarEventId: z.ZodOptional>; }, z.core.$strip>; }, z.core.$strip>; export type SingleCallResponse = z.infer; export declare function parseSingleCallResponse(data: unknown): SingleCallResponse; export declare const getUserRequestSchema: z.ZodObject<{ userId: z.ZodString; }, z.core.$strip>; export type GetUserRequest = z.infer; export declare const singleUserResponseSchema: z.ZodObject<{ requestId: z.ZodOptional; user: z.ZodObject<{ id: z.ZodString; emailAddress: z.ZodOptional>; created: z.ZodOptional>; active: z.ZodOptional>; emailAliases: z.ZodOptional>>; trustedEmailAddress: z.ZodOptional>; firstName: z.ZodOptional>; lastName: z.ZodOptional>; title: z.ZodOptional>; phoneNumber: z.ZodOptional>; extension: z.ZodOptional>; personalMeetingUrls: z.ZodOptional>>; settings: z.ZodOptional>; preventWebConferenceRecording: z.ZodOptional>; telephonyCallsRecorded: z.ZodOptional>; emailsRecorded: z.ZodOptional>; preventEmailRecording: z.ZodOptional>; nonRecordedMeetingsDefaultPrivacy: z.ZodOptional>; gpiSettings: z.ZodOptional>; emailsImported: z.ZodOptional>; }, z.core.$strip>>>; managerId: z.ZodOptional>; meetingConsentPageUrl: z.ZodOptional>; spokenLanguages: z.ZodOptional>>>; }, z.core.$strip>; }, z.core.$strip>; export type SingleUserResponse = z.infer; export declare function parseSingleUserResponse(data: unknown): SingleUserResponse; export declare const searchUsersRequestSchema: z.ZodObject<{ userIds: z.ZodOptional>; createdFromDateTime: z.ZodOptional; createdToDateTime: z.ZodOptional; cursor: z.ZodOptional; }, z.core.$strip>; export type SearchUsersRequest = z.infer; export declare const getTrackersRequestSchema: z.ZodObject<{ workspaceId: z.ZodOptional; }, z.core.$strip>; export type GetTrackersRequest = z.infer; export declare const trackersSettingsResponseSchema: z.ZodObject<{ requestId: z.ZodOptional; keywordTrackers: z.ZodOptional>; trackerName: z.ZodOptional>; workspaceId: z.ZodOptional>; languageKeywords: z.ZodOptional>; keywords: z.ZodOptional>>; includeRelatedForms: z.ZodOptional>; }, z.core.$strip>>>>; affiliation: z.ZodOptional>; partOfQuestion: z.ZodOptional>; saidAt: z.ZodOptional>; filterQuery: z.ZodOptional>; created: z.ZodOptional>; creatorUserId: z.ZodOptional>; }, z.core.$strip>>>>; }, z.core.$strip>; export type TrackersSettingsResponse = z.infer; export declare function parseTrackersSettingsResponse(data: unknown): TrackersSettingsResponse; export declare const workspacesResponseSchema: z.ZodObject<{ requestId: z.ZodOptional; workspaces: z.ZodOptional>; description: z.ZodOptional>; }, z.core.$strip>>>>; }, z.core.$strip>; export type WorkspacesResponse = z.infer; export declare function parseWorkspacesResponse(data: unknown): WorkspacesResponse; export declare const listLibraryFoldersRequestSchema: z.ZodObject<{ workspaceId: z.ZodString; }, z.core.$strip>; export type ListLibraryFoldersRequest = z.infer; export declare const libraryFoldersResponseSchema: z.ZodObject<{ requestId: z.ZodOptional; folders: z.ZodOptional>; parentFolderId: z.ZodOptional>; createdBy: z.ZodOptional>; updated: z.ZodOptional>; }, z.core.$strip>>>>; }, z.core.$strip>; export type LibraryFoldersResponse = z.infer; export declare function parseLibraryFoldersResponse(data: unknown): LibraryFoldersResponse; export declare const getLibraryFolderCallsRequestSchema: z.ZodObject<{ folderId: z.ZodString; }, z.core.$strip>; export type GetLibraryFolderCallsRequest = z.infer; export declare const libraryFolderCallsResponseSchema: z.ZodObject<{ requestId: z.ZodOptional; id: z.ZodOptional>; name: z.ZodOptional>; createdBy: z.ZodOptional>; updated: z.ZodOptional>; calls: z.ZodOptional>; note: z.ZodOptional>; addedBy: z.ZodOptional>; created: z.ZodOptional>; url: z.ZodOptional>; snippet: z.ZodOptional>; toSec: z.ZodOptional>; }, z.core.$strip>>>; }, z.core.$strip>>>>; }, z.core.$strip>; export type LibraryFolderCallsResponse = z.infer; export declare function parseLibraryFolderCallsResponse(data: unknown): LibraryFolderCallsResponse; /** * Domain string — bare hostname like "acme.com" (no protocol, no leading @). * Matched against the suffix of party emailAddress values. */ export declare const domainSchema: z.ZodString; /** * Reasonable cap on how many calls a single tool invocation may fetch. * Pages of /v2/calls/extensive are ~100 records; default of 500 means up to * 5 paginated requests per tool call. Hard ceiling 5000 to protect against * runaway agent loops against the per-day API quota. */ export declare const maxCallsSchema: z.ZodDefault; /** * POST /v2/calls/extensive + post-filter on parties[].emailAddress domain * and (when context: "Extended" is requested) on context CRM Account objects. */ export declare const searchCallsByAccountRequestSchema: z.ZodObject<{ domains: z.ZodArray; fromDateTime: z.ZodOptional; toDateTime: z.ZodOptional; workspaceId: z.ZodOptional; primaryUserIds: z.ZodOptional>; matchCrmAccount: z.ZodDefault; maxCalls: z.ZodOptional>; cursor: z.ZodOptional; }, z.core.$strip>; export type SearchCallsByAccountRequest = z.infer; /** * POST /v2/calls/extensive + post-filter on context CRM Opportunity objects. * Requires Gong-CRM integration (Salesforce/HubSpot) — calls without CRM * linkage will not match. */ export declare const searchCallsByOpportunityRequestSchema: z.ZodObject<{ opportunityIds: z.ZodOptional>; opportunityNames: z.ZodOptional>; fromDateTime: z.ZodOptional; toDateTime: z.ZodOptional; workspaceId: z.ZodOptional; primaryUserIds: z.ZodOptional>; maxCalls: z.ZodOptional>; cursor: z.ZodOptional; }, z.core.$strip>; export type SearchCallsByOpportunityRequest = z.infer; /** * Free-text keyword scan across call transcripts within a bounded date range. * Two-phase: (1) /v2/calls/extensive narrows the call set by date + optional * primaryUserIds/domains, (2) /v2/calls/transcript fetches transcripts for the * narrowed set and post-filters sentences containing any keyword. * * For known recurring terms (competitors, ESPs, key tech), prefer setting up * Gong Trackers in the UI — server-side, no transcript-scan cost — and use * search_calls + get_call_summary instead. */ export declare const searchTranscriptsRequestSchema: z.ZodObject<{ keywords: z.ZodArray; fromDateTime: z.ZodString; toDateTime: z.ZodString; primaryUserIds: z.ZodOptional>; domains: z.ZodOptional>; workspaceId: z.ZodOptional; caseSensitive: z.ZodDefault; wholeWord: z.ZodDefault; maxCalls: z.ZodOptional>; maxMatchesPerCall: z.ZodDefault; }, z.core.$strip>; export type SearchTranscriptsRequest = z.infer; /** * A single keyword match within a call transcript. */ export interface TranscriptMatch { keyword: string; speakerId: string; speakerName?: string; speakerAffiliation?: string; startTime: number; snippet: string; } /** * Per-call match results from search_transcripts. */ export interface CallTranscriptMatches { callId: string; callTitle?: string; callStarted?: string; callUrl?: string; totalMatches: number; matches: TranscriptMatch[]; truncated: boolean; } /** * Aggregate result returned to the caller. */ export interface SearchTranscriptsResult { keywords: string[]; callsScanned: number; callsWithMatches: number; totalMatches: number; results: CallTranscriptMatches[]; limitedByMaxCalls: boolean; }