Skip to main content

Types

This page is an index of types, interfaces, enums used across the Customization API

DefaultContentInterface

KeyTypeDescription
uidUidTypeuid of the user
audioToggleStateaudio mute state
videoToggleStatevideo mute state
streamType'high' | 'low'stream quality type
namestringdisplay name of the user
screenUidnumberuid of the screenshare stream
offlinebooleanoffline status of the user
type'rtc'content type

ExtenedContentInterface

Defined by the user, can contain any information necessary for the corresponding custom content added.

KeyTypeDescription
typestringContent of the chat message
[key: string]anyContent of the chat message

ToggleState

NameValue
disabled0
enabled1
disabling2
enabling3

ChatMessageType

Type of message that is sent in private/public group.

KeyTypeDescription
TXTtxtText message type
IMAGEimgImage message type
FILEfileFile message type like pdf,doc,zip...
CUSTOMcustomUser-defined custom message type

SDKChatType

Message sent in as group or private chat.

KeyValueDescription
SINGLE_CHATsingleChatMsg sent to private chat user
GROUP_CHATgroupChatMsg sent in a group chat

ChatOption

Chat Message that is to be sent in private/public group.

KeyTypeDescription
chatTypeSDKChatTypeType of chat : peer or group
typechatMessageTypeType of chat message to be sent
fromUidTypeSender of message
toUidTypeReceiver of message
msg?stringContent of the message (optional)
file?objectFile object of attachment message (optional)
ext?{file_length: number; file_ext: string; file_name: string; file_url: string; from_platform?: string;}Custom attributes to be send along with message (optional)
url?stringURL associated with the message (optional)

MessageStatusCallback

The message status change listener. Occurs when a message is uploaded or downloaded.

PropertyTypeDescription
onProgress((localMsgId: string, progress: number) => void)?Occurs when a message is uploaded or downloaded.
onError(localMsgId: string, error: any) => voidOccurs when a message error occurs
onSuccess(message: ChatMessage) => voidOccurs when a message is successfully delivered

UploadStatus

Upload Status of the Attachment message

KeyValueDescription
NOT_STARTEDnotStartedUpload not started yet
IN_PROGRESSinProgressUpload in progress
SUCCESSsuccessUpload successful
FAILUREfailureUpload failed

ChatMessage

Message object when a chat message is received or recalled.

PropertyTypeDescription
msgIdstringMessage ID
localMsgIdstringLocal message ID
conversationIdstringConversation ID
fromstringSender ID
tostringReceiver ID
localTimenumberLocal timestamp of the message
serverTimenumberServer timestamp of the message
hasDeliverAckbooleanIndicates if delivery acknowledgment is present
hasReadAckbooleanIndicates if read acknowledgment is present
needGroupAckbooleanIndicates if group acknowledgment is needed
groupAckCountnumberCount of group acknowledgments
hasReadbooleanIndicates if the message has been read
chatTypenumberType of chat
directionstringDirection of the message (incoming/outgoing)
statusnumberStatus of the message
attributesanyAdditional attributes of the message
bodyanyBody of the message
isChatThreadbooleanIndicates if the message is part of a chat thread
isOnlinebooleanIndicates if the user is currently online
deliverOnlineOnlybooleanIndicates if the message should be delivered only when the receiver is online
receiverListstring[]List of receiver IDs

VideoEncoderConfigurationPreset

The preset video encoder configurations.

'120p_1' | '120p_3' | '180p_1' | '180p_3' | '180p_4' | '240p_1' | '240p_3' | '240p_4' | '360p_1' | '360p_3' | '360p_4' | '360p_6' | '360p_7' | '360p_8' | '360p_9' | '360p_10' | '360p_11' | '480p_1' | '480p_2' | '480p_3' | '480p_4' | '480p_6' | '480p_8' | '480p_9' | '480p_10' | '720p_1' | '720p_2' | '720p_3' | '720p_5' | '720p_6'

ScreenEncoderConfigurationPreset

The preset video encoder configurations for screen sharing.

'480p_1' | '480p_2' | '480p_3' | '720p' | '720p_1' | '720p_2' | '720p_3' | '1080p' | '1080p_1' | '1080p_2' | '1080p_3'

VideoEncoderConfiguration

Interface that defines video encoder configurations.

PropertyTypeDescription
bitrateMaxnumberThe maximum bitrate of the video (Kbps)
bitrateMinnumberThe minimum bitrate of the video (Kbps)
frameRatenumber | ConstrainLongFrame rate of the video (fps)
heightnumber | ConstrainLongHeight of the video
widthnumber | ConstrainLongWidth of the video

ConstrainLong

Specifies a constraint for a property, such as the resolution or bitrate for video capture in VideoEncoderConfiguration.

PropertyTypeDescription
exactnumberA required value of a property. If the video capture device cannot output this value, the video capture fails.
idealnumberAn ideal value of a property. If the video capture device cannot output this value, it outputs the closest value instead.
maxnumberThe upper limit of the property
minnumberThe lower limit of the property

VBOption

Type of Virtual Background option that can be applied in the video.

KeyTypeDescription
typeVBModeType of virtual background, e.g., blur, image, none.
pathstringRequired for image type VBMode. Must be a valid image URL pointing to the image.
labelstringOptional label for the virtual background option, used for display purposes.
isSelectedbooleanOptional flag indicating if this virtual background option is currently selected.

VBMode

Type of Virtual Background that can be applied

KeyValueDescription
VBModeblurApplies a blur effect as the virtual background.
imageUses an image as the virtual background.
noneNo virtual background is applied.

BeautyEffects

Image Enhancement options.

KeyValueDescription
lighteningContrastLevel0, 1, 2 (optional)The contrast level, used with the lighteningLevel parameter. The larger the value, the greater the contrast between light and dark.
lighteningLevelNumber (optional)Adjusts the brightening level.The higher the value, the greater the degree of brightening.
smoothnessLevelNumber (optional)Controls the smoothness level of the effect.The greater the value, the greater the smoothness level.
sharpnessLevelNumber (optional)Modifies the sharpness level of the image.The larger the value, the greater the sharpness level.
rednessLevelNumber (optional)Alters the redness level, adjusting the red tones in the image.The larger the value, the greater the redness level.

ButtonTemplateName

NameValue
topBar0
bottomBar1

ContentObjects

KeyTypeDescription
[key: UidType]ContentInterfaceObject containing information necessary to render content view for the corresponding uid

UidType : string | number

Selector( e: T ): Partial<T>

Method to subscribe to portions of the app-state. When passed to an app-state accessor method it receives the contents of the associated app-state as argument, it must then selectively return the contents which are intended to be subscribed and eventually returned by the accessor method.

DispatchType: <T, V>(action: { type: T; value: V }) => void

T: keyof CallbacksInterface

V: Parameters<CallbacksInterface[T]>

Used to dispatch various app builder actions.

CallbacksInterface

KeyTypeDescription
EndCall() => voidEnds the call
SwitchCamera() => voidSwitches the video device being used [ mobile only ]
SwapVideo( uid: UidType ) => voidSwaps given uid with the uid at the top in activeUids
DequeVideo( uid: UidType ) => voidShifts given uid to top of activeUids
UpdateRenderList( uid: UidType, user: Partial<ContentInterface> ) => voidUpdates contentObject of the given uid in defaultContent
AddCustomContent( uid: UidType, data: ContentInterface ) => voidAdds the given data to defaultContent with given uid as key.

TopToolbarItemsConfig

KeyTypeDescription
[key: TopToolbarDefaultKeys]ToolbarDefaultItemObject containing information to modify the top toolbar items

BottomToolbarItemsConfig

KeyTypeDescription
[key: BottomToolbarDefaultKeys]ToolbarDefaultItemObject containing information to modify the bottom toolbar items
moreToolbarMoreDefaultItemObject containing information to modify the bottom more toolbar items

ToolbarDefaultItemsConfig

KeyTypeDescription
[key: string]ToolbarDefaultItemObject containing information to modify/define toolbar items

ToolbarDefaultItem

KeyTypeDescription
component?:() => JSX.ElementUsed to override the default component
align?:ToolbarItemAlignUsed to align the component
hide?:ToolbarItemHideUsed to show/hide the component
order?:numberUsed to order the component
label?:ToolbarItemLabelUsed to change default label
onPress?:() => voidUsed to add on press functionality

ToolbarMoreDefaultItem

KeyTypeDescription
component?:() => JSX.ElementUsed to override the default component
align?:ToolbarItemAlignUsed to align the component
hide?:ToolbarItemHideUsed to show/hide the component
order?:numberUsed to order the component
fields?:ToolbarMoreButtonFieldsUsed to modify more button toolbar items
label?:ToolbarItemLabelUsed to change default label

ToolbarMoreButtonFields

KeyTypeDescription
[key: MoreButtonDefaultKeys]{hide?: ToolbarItemHide; order?: number;}Used to modify more button toolbar items

ToolbarItemAlign : 'start' | 'center' | 'end'

ToolbarItemHide : boolean | ToolbarHideCallback

ToolbarHideCallback : (width: number, height: number) => boolean;

ToolbarItemLabel : string | (langugeCode: string) => string

ToolbarPresetAlign : 'top' | 'bottom'

TopToolbarDefaultKeys: 'meeting-title' | 'participant-count' | 'recording-status' | 'chat'| 'participant' | 'settings

BottomToolbarDefaultKeys: | 'layout' | 'invite' | 'local-audio'| 'local-video'| 'screenshare' | 'recording' | 'switch-camera' | 'end-call' | 'raise-hand' | 'more'

MoreButtonDefaultKeys: | 'virtual-background' | 'noise-cancellation' | 'caption' | 'transcript' | 'view-recordings' | 'whiteboard' | 'chat' | 'participant' | 'settings' | 'layout' | 'invite' | 'screenshare' | 'recording'