import type { Transport, PageResult } from '@23blocks/contracts'; import type { CampaignMedia, CreateCampaignMediaRequest, UpdateCampaignMediaRequest, ListCampaignMediaParams, CampaignMediaResults } from '../types/campaign-media.js'; export interface CampaignMediaService { /** * List campaign media with optional filtering. * @returns Paginated list of CampaignMedia records with metadata. */ list(params?: ListCampaignMediaParams): Promise>; /** * Get a single campaign media by unique ID. * @returns The matching CampaignMedia record. */ get(uniqueId: string): Promise; /** * Create a new campaign media attachment. * @returns The newly created CampaignMedia record. */ create(data: CreateCampaignMediaRequest): Promise; /** * Update an existing campaign media. * @returns The updated CampaignMedia record. */ update(uniqueId: string, data: UpdateCampaignMediaRequest): Promise; /** * Delete a campaign media. */ delete(uniqueId: string): Promise; /** * List all media attached to a specific campaign. * @returns Array of CampaignMedia records for the campaign. */ listByCampaign(campaignUniqueId: string): Promise; /** * Get aggregated results for a campaign media. * @returns CampaignMediaResults with performance metrics. */ getResults(uniqueId: string): Promise; } export declare function createCampaignMediaService(transport: Transport, _config: { apiKey: string; }): CampaignMediaService; //# sourceMappingURL=campaign-media.service.d.ts.map