import Response from "../util/Response"; import { AxiosPromise, AxiosProgressEvent } from "axios"; declare class Crm { /** * List and search CRM leads. */ static listLeads(params?: Record): AxiosPromise>; /** * Manually create a new lead. */ static createLead(data: object): AxiosPromise>; /** * View a single lead with contacts and activity timeline. */ static viewLead(lead_id: string): AxiosPromise>; /** * Update lead information. */ static updateLead(lead_id: string, data: object): AxiosPromise>; /** * Delete a lead (Soft Delete). */ static deleteLead(lead_id: string): AxiosPromise>; /** * Assign a Super Admin as the owner of a lead. */ static assignOwner(lead_id: string, user_id: string): AxiosPromise>; /** * Manually trigger Apollo enrichment and website scraping for a lead. */ static enrichLead(lead_id: string): AxiosPromise>; /** * Approve a specific contact to start the Apollo email sequence. */ static approveContact(contact_id: string): AxiosPromise>; /** * Manually update the pipeline status of a lead. */ static updateStatus(lead_id: string, status: string, note?: string): AxiosPromise>; /** * Add a manual note to the lead's activity timeline. */ static addNote(lead_id: string, content: string): AxiosPromise>; /** * Manually add a contact person to a lead. */ static addContact(lead_id: string, data: object): AxiosPromise>; /** * Mark a lead as lost and record the reason. */ static markAsLost(lead_id: string, reason: string): AxiosPromise>; /** * Record that a staff member has manually replied to a prospect. */ static recordStaffReply(lead_id: string): AxiosPromise>; /** * Approve a batch of contacts for outreach. */ static bulkApprove(contact_ids: string[]): AxiosPromise>; /** * Manually trigger the bi-weekly sourcing automation. */ static triggerSourcing(): AxiosPromise>; /** * Manually trigger the Apollo status and conversion sync. */ static triggerSync(): AxiosPromise>; /** * Get funnel conversion percentages. */ static getFunnelStats(): AxiosPromise>; /** * Get win rates and response time analytics. */ static getPerformanceStats(): AxiosPromise>; /** * Get the analytics on what users indcated they were interested in. */ static getInterestStats(): AxiosPromise>; /** * Update an existing contact's information. */ static updateContact(contact_id: string, data: object): AxiosPromise>; /** * Remove a contact from a lead. */ static deleteContact(contact_id: string): AxiosPromise>; /** * List CRM newsletter and mass-email campaigns. */ static listCampaigns(params?: Record): AxiosPromise>; /** * Create a CRM campaign draft with filters, exclusions, and optional variants. */ static createCampaign(data: object): AxiosPromise>; /** * View a CRM campaign. Pass include_recipients in params for a small recipient sample. */ static viewCampaign(campaign_id: string, params?: Record): AxiosPromise>; /** * Update an editable CRM campaign draft or paused campaign. */ static updateCampaign(campaign_id: string, data: object): AxiosPromise>; /** * Delete an unsent CRM campaign draft. */ static deleteCampaign(campaign_id: string): AxiosPromise>; /** * Preview campaign audience filters and exclusions without creating recipients. */ static previewCampaignAudience(data: object): AxiosPromise>; /** * List human-readable filter options for the CRM campaign composer. */ static getCampaignFilterOptions(): AxiosPromise>; /** * List the backend-supported CRM campaign merge fields for the composer. */ static getCampaignMergeFields(): AxiosPromise>; /** * Render CRM campaign content with the same merge-field engine used at send time. */ static renderCampaignTemplatePreview(data: object): AxiosPromise>; /** * Send a non-tracked CRM campaign test email with rendered merge fields. */ static sendCampaignTestEmail(data: object): AxiosPromise>; /** * Read CRM campaign queue depth and Azure/system email rate-limit windows. */ static getCampaignDeliveryStatus(): AxiosPromise>; /** * Materialize and queue a CRM campaign, optionally with a limit or dispatch=false. */ static sendCampaign(campaign_id: string, data?: object): AxiosPromise>; /** * Refresh and read CRM campaign engagement, reply, and conversion stats. */ static getCampaignStats(campaign_id: string): AxiosPromise>; /** * List campaign recipient audit rows with optional status or variant filters. */ static listCampaignRecipients(campaign_id: string, params?: Record): AxiosPromise>; /** * Validate external prospect rows and preview field mapping/dedupe outcomes. */ static previewCampaignProspectImport(prospects: object[], options?: Record): AxiosPromise>; /** * Import external prospects into CRM leads and contacts for future campaigns. */ static importCampaignProspects(prospects: object[], options?: Record): AxiosPromise>; /** * Preview uploaded festival submission sheets without writing External Game or CRM records. */ static previewFestivalSubmissionImport(files: Array, options?: Record, onUploadProgress?: (progressEvent: AxiosProgressEvent) => void): AxiosPromise>; /** * Import uploaded festival submission sheets into External Games and CRM leads/contacts. */ static importFestivalSubmissions(files: Array, options?: Record, onUploadProgress?: (progressEvent: AxiosProgressEvent) => void): AxiosPromise>; /** * List saved recurring Google Sheet sources for festival submission imports. */ static listFestivalSubmissionSources(): AxiosPromise>; /** * Save a recurring Google Sheet source for festival submission imports. */ static createFestivalSubmissionSource(data: object): AxiosPromise>; /** * Update a recurring Google Sheet source for festival submission imports. */ static updateFestivalSubmissionSource(source_id: string, data: object): AxiosPromise>; /** * Delete a recurring Google Sheet source for festival submission imports. */ static deleteFestivalSubmissionSource(source_id: string): AxiosPromise>; /** * List provider-managed sender and reply-to addresses for CRM campaigns. */ static listEmailProviderAddresses(params?: Record): AxiosPromise>; /** * List sender/reply-to dropdown options and defaults for the campaign composer. */ static getEmailProviderAddressOptions(): AxiosPromise>; /** * Add a provider-managed sender or reply-to address. */ static createEmailProviderAddress(data: object): AxiosPromise>; /** * Update provider verification, sendability, capabilities, defaults, or notes. */ static updateEmailProviderAddress(address_id: string, data: object): AxiosPromise>; /** * Deactivate a provider address while keeping the audit record. */ static deactivateEmailProviderAddress(address_id: string): AxiosPromise>; private static festivalSubmissionFormData; } export default Crm;