UNPKG

@vonage/client-sdk

Version:

The Client SDK is intended to provide a ready solution for developers to build Programmable Conversation applications across multiple Channels including: Messages, Voice, SIP, websockets, and App.

135 lines (134 loc) 6.2 kB
import vonage from './vonage'; import { CustomData } from './JsonUtils'; import { Nullable } from '../kotlin/clientsdk-clientcore_js'; import { Option } from './Option'; /** * Parameters object for {@link VonageClient.createConversation} * * @property name The name to initialize the conversation with * @property displayName The displayName to initialize the conversation with * @property imageUrl The name to imageUrl the conversation with * @property ttl The time-to-live (in seconds) to initialize the conversation with * @property customSortKey The customSortKey to initialize the conversation with. * When {@link GetConversationsParameters.orderBy} is set to {@link OrderBy.CUSTOM_SORT_KEY}, conversations will be sorted according to the value of this property. * @property customData Custom data associated with the conversation * @interface * @group Chat */ export type CreateConversationParameters = Omit<vonage.CreateConversationParametersJS, 'ttl' | 'customData'> & { ttl?: Nullable<number>; customData?: Nullable<CustomData>; }; /** * Parameters object for {@link VonageClient.getConversations} * * @property order The order in which conversations are presented, default is {@link PresentingOrder.ASC}. * @property pageSize The maximum number of conversations to retrieve per request, default is 10. * @property cursor The cursor indicating the starting point for pagination, default is the first page. * @property includeCustomData Indicates whether to include custom data in the results, default is false. * @property orderBy The strategy for ordering the conversations, default is {@link OrderBy.CREATED}. * @interface * @group Chat */ export type GetConversationsParameters = Omit<vonage.GetConversationsParametersJS, 'pageSize' | 'order' | 'orderBy'> & { pageSize?: Nullable<number>; order?: Nullable<PresentingOrder>; orderBy?: Nullable<OrderBy>; }; /** * Parameters object for {@link VonageClient.getConversationEvents} * * @property order The order in which conversation events are presented, default is {@link PresentingOrder.ASC}. * @property pageSize The maximum number of conversation events to retrieve per request, default is 10. * @property cursor The cursor indicating the starting point for pagination, default is the first page. * @property eventFilter A list of strings containing the types of events to be fetched and should have maximum 5 elements, default includes all events. * @property includeDeletedEvents Indicates whether to include deleted events in the list, default is false. * @property startId Specify the starting id of the events to be returned, default includes all events. * @interface * @group Chat */ export type GetConversationEventsParameters = Omit<vonage.GetConversationEventsParametersJS, 'pageSize' | 'startId' | 'order'> & { pageSize?: Nullable<number>; startId?: Nullable<number>; order?: Nullable<PresentingOrder>; }; /** * Parameters object for {@link VonageClient.getConversationMembers} * * @property order The order in which conversation members are presented, default is {@link PresentingOrder.ASC}. * @property pageSize The maximum number of conversation members to retrieve per request, default is 10. * @property cursor The cursor indicating the starting point for pagination, default is the first page. * @interface * @group Chat */ export type GetConversationMembersParameters = Omit<vonage.GetConversationMembersParametersJS, 'pageSize' | 'order'> & { pageSize?: Nullable<number>; order?: Nullable<PresentingOrder>; }; /** * Parameters object for {@link VonageClient.getCallLegs} * * @property order The order in which call legs are presented, default is {@link PresentingOrder.ASC}. * @property pageSize The maximum number of legs to retrieve per request, default is 10. * @property cursor The cursor indicating the starting point for pagination, default is the first page. * @interface * @group Voice */ export type GetCallLegsParameters = Omit<vonage.GetCallLegsParametersJS, 'pageSize' | 'order'> & { order?: Nullable<PresentingOrder>; pageSize?: Nullable<number>; }; /** * Parameters object for {@link VonageClient.updateConversation}. * * Every property is an {@link Option} monad. * When set to {@link Option.Some} the property will be updated. * When set to {@link Option.None} the property will remain unchanged. * * @property name The name of the conversation. * @property displayName A display name for the conversation. * @property imageUrl The URL of an image associated with the conversation. * @property ttl The time-to-live (TTL) for the conversation in seconds. * @property customSortKey A custom sort key for the conversation. * @property customData Custom data associated with the conversation. * @interface * @group Chat */ export interface UpdateConversationParameters { name?: string | Option<string>; displayName?: string | null | Option<string | null | undefined>; imageUrl?: string | null | Option<string | null | undefined>; ttl?: number | Option<number>; customSortKey?: string | null | Option<string | null | undefined>; customData?: CustomData | null | Option<CustomData | null | undefined>; } /** * The order in which paginated objects are presented. * * @group Chat */ export type PresentingOrder = Lowercase<typeof vonage.PresentingOrderJS.prototype.name> | vonage.PresentingOrderJS; /** * The order in which paginated objects are presented. * @group Chat * @enum * @property ASC Ascending order * @property DESC Descending order */ export declare const PresentingOrder: { [prop in typeof vonage.PresentingOrderJS.prototype.name]: Lowercase<prop>; }; /** * The sorting strategy used for paginated objects. * * @group Chat */ export type OrderBy = Lowercase<typeof vonage.OrderByJS.prototype.name> | vonage.OrderByJS; /** * The sorting strategy used for paginated objects. * @group Chat * @enum */ export declare const OrderBy: { [prop in typeof vonage.OrderByJS.prototype.name]: Lowercase<prop>; };