import type { Deliverable } from "./schema.js"; import type { CampaignApiClientOptions } from "./types.js"; /** * Deliverables resource — funnel-stage groupings of tasks under a * campaign. * * Endpoint surface (HAR-derived 2026-05-15): * POST /api/orchestrate/v1/projects/{projectId}/deliverables — create (201) * DELETE /api/orchestrate/v1/projects/{projectId}/deliverables/{id} — delete (UNVERIFIED) * * Deliverables are also returned inline on `getProject`, so a * dedicated list endpoint was not needed in the capture. `deleteDeliverable` * is wired optimistically per REST conventions; see its doc comment. * Update is unverified. */ /** Input for `createDeliverable`. Field set observed on the wire. */ export type CreateDeliverableInput = { name: string; due_date?: string; status?: string; /** Funnel stage — observed: `TOP`. */ funnel_stage?: string; funnel_tactics?: string[]; labels?: string[]; }; /** Create a deliverable under a campaign. Returns the persisted record. */ export declare const createDeliverable: (options: CampaignApiClientOptions, projectId: string, input: CreateDeliverableInput) => Promise; /** * Full-replace a deliverable * (`PUT /api/orchestrate/v1/projects/{projectId}/deliverables/{deliverableId}`). * * VERIFIED 2026-06-10 against TestDemo and the Sitecore AI Symphony frontend * (`actions/deliverables.ts updateDeliverable`): takes the WHOLE deliverable * object and requires `project_id`, `name`, `due_date`. Does NOT cascade to * tasks. Callers pass the current wire object spread with field overrides so * server-managed fields survive. */ export declare const updateDeliverable: (options: CampaignApiClientOptions, projectId: string, deliverableId: string, body: Record) => Promise; /** * Delete a deliverable * (`DELETE /api/orchestrate/v1/projects/{projectId}/deliverables/{deliverableId}`). * Returns void — a 204 is expected on success. * * UNVERIFIED — DELETE was never captured; inferred from REST conventions * (the item path under the `createDeliverable` collection). Smoke-test * before relying on it. */ export declare const deleteDeliverable: (options: CampaignApiClientOptions, projectId: string, deliverableId: string) => Promise;