@talkjs/react-native
Version:
Official TalkJS SDK for React Native
37 lines • 1.69 kB
TypeScript
import type Talk from 'talkjs';
import { LEAVE_PROMISE_EVENT, SEND_MESSAGE_PROMISE_EVENT } from './constants';
import type { User } from './User';
import type { InjectJavaScript } from './Session';
type resolverEvent = typeof LEAVE_PROMISE_EVENT | typeof SEND_MESSAGE_PROMISE_EVENT;
export interface InternalConversationBuilder extends Talk.ConversationBuilder {
_variableName: string;
_usesSynchronization: boolean;
_resolve: (event: resolverEvent, key: string, promiseValue?: boolean) => void;
_setInjectJavaScript: (injectJavaScript: InjectJavaScript) => void;
}
export declare class _ConversationBuilder implements InternalConversationBuilder {
#private;
_injectJavaScript?: InjectJavaScript;
subject?: string | null;
photoUrl?: string | null;
custom?: {
[name: string]: string | null;
} | null;
welcomeMessages?: Array<string> | null;
private constructor();
static create(conversationId: string): _ConversationBuilder;
get _conversationId(): string;
get _variableName(): string;
get _usesSynchronization(): boolean;
_setInjectJavaScript(injectJavaScript: InjectJavaScript): void;
_resolve(event: resolverEvent, key: string, value?: boolean): void;
leave(): Promise<boolean>;
setParticipant(user: User, settings?: Partial<Talk.ParticipationSettings>): void;
setAttributes(attributes: Talk.ConversationAttributes): void;
sendMessage(text: string, options?: Talk.SendMessageOptions): Promise<void>;
toString(): string;
toJSON(): string;
}
export declare const getConversationBuilder: typeof _ConversationBuilder.create;
export {};
//# sourceMappingURL=ConversationBuilder.d.ts.map