import type { Transport, PageResult } from '@23blocks/contracts'; import type { CampaignTemplate, CreateCampaignTemplateRequest, UpdateCampaignTemplateRequest, ListCampaignTemplatesParams, TemplateDetail, CreateTemplateDetailRequest, UpdateTemplateDetailRequest, ListTemplateDetailsParams } from '../types/campaign-template.js'; export interface CampaignTemplatesService { /** * List campaign templates with optional filtering and sorting. * @returns Paginated list of CampaignTemplate records with metadata. */ list(params?: ListCampaignTemplatesParams): Promise>; /** * Get a single campaign template by unique ID. * @returns The matching CampaignTemplate record. */ get(uniqueId: string): Promise; /** * Create a new campaign template. * @returns The newly created CampaignTemplate record. */ create(data: CreateCampaignTemplateRequest): Promise; /** * Update an existing campaign template. * @returns The updated CampaignTemplate record. */ update(uniqueId: string, data: UpdateCampaignTemplateRequest): Promise; /** * Delete a campaign template. */ delete(uniqueId: string): Promise; /** * List template details with optional filtering and sorting. * @returns Paginated list of TemplateDetail records with metadata. */ listDetails(params?: ListTemplateDetailsParams): Promise>; /** * Get a single template detail by unique ID. * @returns The matching TemplateDetail record. */ getDetail(uniqueId: string): Promise; /** * Create a new template detail field. * @returns The newly created TemplateDetail record. */ createDetail(data: CreateTemplateDetailRequest): Promise; /** * Update an existing template detail. * @returns The updated TemplateDetail record. */ updateDetail(uniqueId: string, data: UpdateTemplateDetailRequest): Promise; /** * Delete a template detail. */ deleteDetail(uniqueId: string): Promise; } export declare function createCampaignTemplatesService(transport: Transport, _config: { apiKey: string; }): CampaignTemplatesService; //# sourceMappingURL=campaign-templates.service.d.ts.map