import { APIResource } from "../core/resource.mjs"; import * as CampaignsAPI from "./campaigns.mjs"; import { APIPromise } from "../core/api-promise.mjs"; import { RequestOptions } from "../internal/request-options.mjs"; export declare class Campaigns extends APIResource { /** * Create a new campaign */ create(body: CampaignCreateParams, options?: RequestOptions): APIPromise; /** * Get a specific campaign */ retrieve(id: number, options?: RequestOptions): APIPromise; /** * Update a campaign */ update(id: number, body: CampaignUpdateParams, options?: RequestOptions): APIPromise; /** * Get all campaigns */ list(query?: CampaignListParams | null | undefined, options?: RequestOptions): APIPromise; /** * Delete a campaign */ delete(id: number, options?: RequestOptions): APIPromise; /** * Preview campaign content */ preview(id: number, options?: RequestOptions): APIPromise; /** * Send test campaign */ sendTest(id: number, body: CampaignSendTestParams, options?: RequestOptions): APIPromise; /** * Update campaign status */ updateStatus(id: number, body: CampaignUpdateStatusParams, options?: RequestOptions): APIPromise; } export interface Campaign { id?: number; altbody?: string; body?: string; bounces?: number; clicks?: number; content_type?: 'richtext' | 'html' | 'markdown' | 'plain'; created_at?: string; from_email?: string; lists?: Array; messenger?: string; name?: string; rate?: number; send_at?: string; sent?: number; started_at?: string; status?: 'draft' | 'scheduled' | 'running' | 'paused' | 'finished' | 'cancelled'; subject?: string; tags?: Array; template_id?: number; to_send?: number; updated_at?: string; uuid?: string; views?: number; } export interface CampaignInput { body: string; from_email: string; lists: Array; name: string; subject: string; altbody?: string; content_type?: 'richtext' | 'html' | 'markdown' | 'plain'; messenger?: string; send_at?: string; tags?: Array; template_id?: number; } export interface CampaignRetrieveResponse { data?: Campaign; } export interface CampaignListResponse { data?: CampaignListResponse.Data; } export declare namespace CampaignListResponse { interface Data { results?: Array; total?: number; } } export interface CampaignCreateParams { body: string; from_email: string; lists: Array; name: string; subject: string; altbody?: string; content_type?: 'richtext' | 'html' | 'markdown' | 'plain'; messenger?: string; send_at?: string; tags?: Array; template_id?: number; } export interface CampaignUpdateParams { body: string; from_email: string; lists: Array; name: string; subject: string; altbody?: string; content_type?: 'richtext' | 'html' | 'markdown' | 'plain'; messenger?: string; send_at?: string; tags?: Array; template_id?: number; } export interface CampaignListParams { page?: number; query?: string; status?: 'draft' | 'scheduled' | 'running' | 'paused' | 'finished' | 'cancelled'; tags?: Array; } export interface CampaignSendTestParams { subscribers?: Array; } export interface CampaignUpdateStatusParams { status?: 'scheduled' | 'running' | 'paused' | 'cancelled'; } export declare namespace Campaigns { export { type Campaign as Campaign, type CampaignInput as CampaignInput, type CampaignRetrieveResponse as CampaignRetrieveResponse, type CampaignListResponse as CampaignListResponse, type CampaignCreateParams as CampaignCreateParams, type CampaignUpdateParams as CampaignUpdateParams, type CampaignListParams as CampaignListParams, type CampaignSendTestParams as CampaignSendTestParams, type CampaignUpdateStatusParams as CampaignUpdateStatusParams, }; } //# sourceMappingURL=campaigns.d.mts.map