@kustomer/chat-react-native
Version:
Kustomer Chat SDK wrapper for React Native
62 lines • 1.98 kB
TypeScript
import type { KustomerUser } from './KustomerUser';
export interface KusConversation {
id?: string;
createdAt?: Date;
lastMessageAt?: Date;
status?: ConversationStatus;
brandId?: string;
/** Date the conversation was closed. */
lockedAt?: Date;
/** Was this conversation closed by the customer? */
lockedByCustomer?: boolean;
lockReason?: ConversationLockReason;
preview?: string;
previewDetails?: PreviewDetails;
/** IDs of `KustomerUser`s who have responded to this conversation. */
respondingUserIds?: (string | undefined)[];
/** Count of unread messages */
unreadMessageCount?: number;
lastReadMessageId?: string;
isDeleted: boolean;
/** `KustomerUser`s who have sent at least one message in this conversation. */
users: KustomerUser[];
localUuid?: string;
channelGroup?: string;
channels?: KusChannel[];
}
export interface KusChannel {
name: string;
type: KusChannelType;
/** `active` if the channel is active */
status: string;
}
export declare enum KusChannelType {
conversation = "conversation",
sharedConversation = "shared-conversation",
sharedCustomer = "shared-customer",
sharedCustomerPresence = "shared-customer-presence",
metaConversation = "meta-conversation",
metaCustomer = "meta-customer",
pushNotification = "push-notification"
}
export declare enum ConversationStatus {
open = "open",
ended = "ended",
new = "new"
}
export declare enum ConversationLockReason {
customerEnded = "customerEnded",
userEnded = "userEnded"
}
export interface PreviewDetails {
/** The last responder of the conversation */
lastResponder?: LastResponder;
/** The timestamp that the message this preview corresponds with was created */
messageCreatedAt?: Date;
}
export interface LastResponder {
type?: string;
displayName?: string;
avatarUrl?: string;
}
//# sourceMappingURL=KusConversation.d.ts.map