import type { Plugin } from '@botonic/core'; import { InferenceRequest, InferenceResponse } from './ai'; import { Case, CaseListParams, CaseSearchParams, CaseSearchResult } from './cases'; import { Chat, ChatListParams, ChatTranscriptParams } from './chats'; import { RequestConfig } from './config'; import { Message, MessageListParams } from './messages'; import { AvailabilityFlags, ProjectAvailabilityInfo, QueueAvailabilityInfo, QueueAvailableAgent, QueueListParams, QueueSummary } from './queues'; import { User, UserListParams } from './users'; import { SendWhatsappTemplateRequest, SendWhatsappTemplateResponse } from './whatsapp'; export interface BotonicPluginHubtypeSdkInterface { setAccessToken(accessToken: string): void; knowledgeBaseInference(request: InferenceRequest, config?: RequestConfig): Promise; searchCases(params: CaseSearchParams, config?: RequestConfig): Promise>; searchAllCases(params: CaseSearchParams, config?: RequestConfig): Promise; getCases(params?: CaseListParams, config?: RequestConfig): Promise>; getAllCases(params?: CaseListParams, config?: RequestConfig): Promise; getCaseById(id: string, config?: RequestConfig): Promise; getChats(params?: ChatListParams, config?: RequestConfig): Promise>; getAllChats(params?: ChatListParams, config?: RequestConfig): Promise; getChatById(id: string, config?: RequestConfig): Promise; getChatTranscript(chatId: string, config?: RequestConfig): Promise; getChatTranscriptByProvider(params: ChatTranscriptParams, config?: RequestConfig): Promise; getMessages(params?: MessageListParams, config?: RequestConfig): Promise>; getAllMessages(params?: MessageListParams, config?: RequestConfig): Promise; getMessageById(id: string, config?: RequestConfig): Promise; getQueues(params?: QueueListParams, config?: RequestConfig): Promise>; getAllQueues(params?: QueueListParams, config?: RequestConfig): Promise; getQueueById(id: string, config?: RequestConfig): Promise; getQueueAvailableAgents(queueId: string, config?: RequestConfig): Promise; getQueueAvailabilityById(queueId: string, flags?: AvailabilityFlags, config?: RequestConfig): Promise; getProjectAvailabilityById(projectId: string, flags?: AvailabilityFlags, config?: RequestConfig): Promise; getUsers(params?: UserListParams, config?: RequestConfig): Promise>; getAllUsers(params?: UserListParams, config?: RequestConfig): Promise; getUserById(id: string, config?: RequestConfig): Promise; sendWhatsappTemplate(providerAccountId: string, request: SendWhatsappTemplateRequest, config?: RequestConfig): Promise; addOrUpdateContactInfoField(chatId: string, fieldName: string, value: any, config?: RequestConfig): Promise; } export interface HubtypeSdkPluginInterface extends Plugin, BotonicPluginHubtypeSdkInterface { setAccessToken(accessToken: string): void; } export interface PaginatedResponse { count?: number; next: string | null; previous: string | null; results: T[]; }