import type { DeferredJobsApiClient } from '../../api'; import type { Campaign, Contact, ContactsScope, EmailRecipient } from '../../types'; import { Query } from '../../types'; import type { RecipientsOperationResponse } from '../Campaigns'; import type { ListOptions, ListResponse, SearchOptions } from './types'; type CampaignId = Campaign['id']; type ContactId = Contact['id']; type EmailRecipientId = EmailRecipient['id']; export type Client = ReturnType; export declare function createClient(api: DeferredJobsApiClient): { list: (campaignId: CampaignId, options: ListOptions) => Promise; search: (campaignId: CampaignId, options: SearchOptions) => Promise; get: (campaignId: CampaignId, recipientId: EmailRecipientId) => Promise; addContact: (campaignId: CampaignId, contact: { id: ContactId; emailAddress?: string; }) => Promise; addContacts: (campaignId: CampaignId, contacts: { query?: Query; scope?: ContactsScope; }) => Promise; removeRecipient: (campaignId: CampaignId, recipientId: EmailRecipientId) => Promise; removeRecipients: (campaignId: CampaignId, params?: { query: Query; }) => Promise; }; export {};