import type { Transport, PageResult } from '@23blocks/contracts'; import type { Campaign, CreateCampaignRequest, UpdateCampaignRequest, ListCampaignsParams, CampaignResults } from '../types/campaign.js'; export interface CampaignsService { /** * List campaigns with optional filtering and sorting. * @returns Paginated list of Campaign records with metadata. */ list(params?: ListCampaignsParams): Promise>; /** * Get a single campaign by unique ID. * @returns The matching Campaign record. */ get(uniqueId: string): Promise; /** * Create a new campaign. * @returns The newly created Campaign record. */ create(data: CreateCampaignRequest): Promise; /** * Update an existing campaign. * @returns The updated Campaign record. */ update(uniqueId: string, data: UpdateCampaignRequest): Promise; /** * Delete a campaign. */ delete(uniqueId: string): Promise; /** * Start a campaign, transitioning it to active state. * @returns The updated Campaign record with active status. */ start(uniqueId: string): Promise; /** * Pause an active campaign. * @returns The updated Campaign record with paused status. */ pause(uniqueId: string): Promise; /** * Stop a campaign, transitioning it to stopped state. * @returns The updated Campaign record with stopped status. */ stop(uniqueId: string): Promise; /** * Get aggregated results for a campaign. * @returns CampaignResults with performance metrics. */ getResults(uniqueId: string): Promise; } export declare function createCampaignsService(transport: Transport, _config: { apiKey: string; }): CampaignsService; //# sourceMappingURL=campaigns.service.d.ts.map