import type { RequestOptions } from "../base-client"; import { RequestBuilder } from "../request-builder"; /** * Support domain namespace — tickets, queues, SLA policies, routing, and AI configuration. * * Covers the full support lifecycle: manage tickets through assign/resolve/close/reopen/merge, * configure queues with AI modes, set SLA policies, define routing rules, and manage * canned responses and channel capture configs. */ export declare function createSupportNamespace(rb: RequestBuilder): { tickets: { /** Get a support ticket by ID */ get: (id: string, options?: RequestOptions) => Promise; /** List tickets for a workspace */ listByWorkspace: (workspaceId: string, options?: RequestOptions) => Promise; /** Create a new support ticket */ create: (attributes: Record, options?: RequestOptions) => Promise; /** Update a support ticket */ update: (id: string, attributes: Record, options?: RequestOptions) => Promise; /** Assign a ticket to an agent or queue */ assign: (id: string, attributes: Record, options?: RequestOptions) => Promise; /** Resolve a ticket */ resolve: (id: string, attributes: Record, options?: RequestOptions) => Promise; /** Close a resolved ticket */ close: (id: string, attributes: Record, options?: RequestOptions) => Promise; /** Reopen a closed or resolved ticket */ reopen: (id: string, attributes: Record, options?: RequestOptions) => Promise; /** Merge a ticket into another ticket */ merge: (id: string, attributes: Record, options?: RequestOptions) => Promise; /** Delete a support ticket */ delete: (id: string, options?: RequestOptions) => Promise; }; messages: { /** List messages for a ticket */ listByTicket: (ticketId: string, options?: RequestOptions) => Promise; /** Create a message on a ticket */ create: (attributes: Record, options?: RequestOptions) => Promise; }; attachments: { /** List attachments for a ticket message */ listByMessage: (messageId: string, options?: RequestOptions) => Promise; /** Create an attachment on a ticket message */ create: (attributes: Record, options?: RequestOptions) => Promise; }; ratings: { /** Create or update a satisfaction rating for a ticket */ create: (attributes: Record, options?: RequestOptions) => Promise; }; tags: { /** List tags for a workspace */ listByWorkspace: (workspaceId: string, options?: RequestOptions) => Promise; /** Create a tag */ create: (attributes: Record, options?: RequestOptions) => Promise; /** Delete a tag */ delete: (id: string, options?: RequestOptions) => Promise; }; queues: { /** Get a queue by ID */ get: (id: string, options?: RequestOptions) => Promise; /** List queues for an application */ listByApplication: (applicationId: string, options?: RequestOptions) => Promise; /** Create a queue */ create: (attributes: Record, options?: RequestOptions) => Promise; /** Update a queue */ update: (id: string, attributes: Record, options?: RequestOptions) => Promise; /** Delete a queue */ delete: (id: string, options?: RequestOptions) => Promise; }; queueMembers: { /** List members of a queue */ listByQueue: (queueId: string, options?: RequestOptions) => Promise; /** List all queue members for an application */ listByApplication: (applicationId: string, options?: RequestOptions) => Promise; /** Add a member to a queue */ create: (attributes: Record, options?: RequestOptions) => Promise; /** Update a queue member */ update: (id: string, attributes: Record, options?: RequestOptions) => Promise; /** Remove a member from a queue */ delete: (id: string, options?: RequestOptions) => Promise; }; routingRules: { /** Get a routing rule by ID */ get: (id: string, options?: RequestOptions) => Promise; /** List routing rules for an application */ listByApplication: (applicationId: string, options?: RequestOptions) => Promise; /** Create a routing rule */ create: (attributes: Record, options?: RequestOptions) => Promise; /** Update a routing rule */ update: (id: string, attributes: Record, options?: RequestOptions) => Promise; /** Delete a routing rule */ delete: (id: string, options?: RequestOptions) => Promise; }; slaPolicies: { /** Get an SLA policy by ID */ get: (id: string, options?: RequestOptions) => Promise; /** List SLA policies for an application */ listByApplication: (applicationId: string, options?: RequestOptions) => Promise; /** Create an SLA policy */ create: (attributes: Record, options?: RequestOptions) => Promise; /** Update an SLA policy */ update: (id: string, attributes: Record, options?: RequestOptions) => Promise; /** Delete an SLA policy */ delete: (id: string, options?: RequestOptions) => Promise; }; aiConfig: { /** Get AI config for a workspace */ getForWorkspace: (workspaceId: string, options?: RequestOptions) => Promise; /** Create or update AI config */ upsert: (attributes: Record, options?: RequestOptions) => Promise; }; channelCaptureConfig: { /** Get channel capture config for a workspace */ getForWorkspace: (workspaceId: string, options?: RequestOptions) => Promise; /** Create or update channel capture config */ upsert: (attributes: Record, options?: RequestOptions) => Promise; }; syncConfig: { /** List sync configs for a workspace */ listByWorkspace: (workspaceId: string, options?: RequestOptions) => Promise; /** Create a sync config */ create: (attributes: Record, options?: RequestOptions) => Promise; /** Update a sync config */ update: (id: string, attributes: Record, options?: RequestOptions) => Promise; /** Delete a sync config */ delete: (id: string, options?: RequestOptions) => Promise; }; cannedResponses: { /** List canned responses for a workspace */ listByWorkspace: (workspaceId: string, options?: RequestOptions) => Promise; /** Create a canned response */ create: (attributes: Record, options?: RequestOptions) => Promise; /** Update a canned response */ update: (id: string, attributes: Record, options?: RequestOptions) => Promise; /** Delete a canned response */ delete: (id: string, options?: RequestOptions) => Promise; }; }; //# sourceMappingURL=support.d.ts.map