export interface AgentSummary { /** Unique identifier for the agent. */ agentId: string; /** Type of the agent. */ agentType: AgentSummary.AgentType; /** Service ID associated with the agent. */ serviceId?: string | null; /** * Raw per-carrier launch + verification state for the agent. Each * value is tri-state — `null` means "no launch requested" or "not * sent yet"; `false` means "pending" / "sent"; `true` means * "launched" / "verified". Use the [GET /rcs/{agentId}](/api-reference/rcs-agents/get) * endpoint for the resolved enum representation. */ carrierLaunches?: AgentSummary.CarrierLaunches | null; /** Agent configuration details. */ config?: AgentSummary.Config | null; /** ISO 8601 timestamp of when the agent was created. */ createdAt: string; /** ISO 8601 timestamp of when the agent was last updated. */ updatedAt: string; } export declare namespace AgentSummary { /** Type of the agent. */ const AgentType: { readonly Production: "PRODUCTION"; readonly Test: "TEST"; }; type AgentType = (typeof AgentType)[keyof typeof AgentType]; /** * Raw per-carrier launch + verification state for the agent. Each * value is tri-state — `null` means "no launch requested" or "not * sent yet"; `false` means "pending" / "sent"; `true` means * "launched" / "verified". Use the [GET /rcs/{agentId}](/api-reference/rcs-agents/get) * endpoint for the resolved enum representation. */ interface CarrierLaunches { /** Launch status for AT&T. null = not requested, false = pending, true = launched. */ ATT?: boolean | null; /** Launch status for other carriers. null = not requested, false = pending, true = launched. */ OTHERS?: boolean | null; /** Launch status for T-Mobile. null = not requested, false = pending, true = launched. */ TMOBILE?: boolean | null; /** Launch status for Verizon. null = not requested, false = pending, true = launched. */ VERIZON?: boolean | null; /** AEGIS verification status. null = not sent, false = sent, true = verified. */ AEGIS?: boolean | null; /** Google verification status. null = not sent, false = sent, true = verified. */ GOOGLE?: boolean | null; } /** * Agent configuration details. */ interface Config { /** Display name of the agent (max 40 characters). */ name?: string; /** Description of the agent (max 100 characters). */ description?: string; /** Hex color code for the agent. */ color?: string; websites?: Config.Websites.Item[]; phones?: Config.Phones.Item[]; emails?: Config.Emails.Item[]; /** Logo image URL. */ iconUrl?: string | null; /** Hero image URL. */ heroUrl?: string | null; /** Privacy policy URL. */ privacyUrl?: string | null; /** Terms of service URL. */ termsUrl?: string | null; /** Whether the agent supports two-way conversation. */ isConversational?: boolean | null; /** Use case for the agent. */ agentUseCase?: Config.AgentUseCase | null; } namespace Config { type Websites = Websites.Item[]; namespace Websites { interface Item { url?: string; label?: string; } } type Phones = Phones.Item[]; namespace Phones { interface Item { phone?: string; label?: string; } } type Emails = Emails.Item[]; namespace Emails { interface Item { email?: string; label?: string; } } /** Use case for the agent. */ const AgentUseCase: { readonly Transactional: "TRANSACTIONAL"; readonly Promotional: "PROMOTIONAL"; readonly Otp: "OTP"; readonly MultiUse: "MULTI_USE"; }; type AgentUseCase = (typeof AgentUseCase)[keyof typeof AgentUseCase]; } }