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 & { ttl?: Nullable; customData?: Nullable; }; /** * 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 & { pageSize?: Nullable; order?: Nullable; orderBy?: Nullable; }; /** * 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 & { pageSize?: Nullable; startId?: Nullable; order?: Nullable; }; /** * 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 & { pageSize?: Nullable; order?: Nullable; }; /** * 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 & { order?: Nullable; pageSize?: Nullable; }; /** * 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; displayName?: string | null | Option; imageUrl?: string | null | Option; ttl?: number | Option; customSortKey?: string | null | Option; customData?: CustomData | null | Option; } /** * The order in which paginated objects are presented. * * @group Chat */ export type PresentingOrder = Lowercase | 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; }; /** * The sorting strategy used for paginated objects. * * @group Chat */ export type OrderBy = Lowercase | vonage.OrderByJS; /** * The sorting strategy used for paginated objects. * @group Chat * @enum */ export declare const OrderBy: { [prop in typeof vonage.OrderByJS.prototype.name]: Lowercase; };