/** * @module smwebsdk */ import { Scene } from './Scene'; import { SmEvent } from './SmEvent'; import { StartSpeakingOptionalArgs } from './websocket-message/scene/index'; import { VariablesModel, AnimationModel } from './models/index'; import { PersonaId } from './models/PersonaId'; /** * Persona class to control a scene persona * @public */ export declare class Persona { protected _scene: Scene; protected _personaId: PersonaId; private _onConversationResultEvent; private _onSpeechMarkerEvent; /** * @param scene - The scene the persona resides in * @param personaId - The id of the persona as received in a state callback */ constructor(scene: Scene, personaId: PersonaId); /** * Start speaking the given text * @internal * @param text - The text to speak * @param context - The context included in the transcript * @param optionalArgs - Optional start speaking arguments or null */ startSpeaking(text: string, context?: string | null, optionalArgs?: StartSpeakingOptionalArgs | null): Promise; /** * Stop speaking */ stopSpeaking(): Promise; /** * Send a chat message to conversation * @param text - Text to send to conversation * @param variables - Variables to send to the conversation provider * @param optionalArgs - Optional arguments object (none currently supported) */ conversationSend(text: string, variables: VariablesModel, optionalArgs: Record): Promise; /** * Set variables that will be applied on the next conversation request * triggered by speech to text or a conversationSend() * @param variables - Variables to send to the conversation provider */ conversationSetVariables(variables: VariablesModel): Promise; /** * Get variables will return the current conversation variable values * in the promise completion. * Completion/promise receives an object with member 'variables'. */ conversationGetVariables(): Promise; /** * Cut or animate to a named camera position, with support for camera adjustment. * @param cameraName - Named camera position. The currently supported option is "CloseUp". * @param time - Time in seconds for the animation to run. 0 indicates a cut. * @param orbitDegX - Degrees of horizontal rotation around implicit orbit point of camera position (typically the middle of the Persona's head) * @param orbitDegY - Degrees of vertical rotation around implicit orbit point of camera position (typically the middle of the Persona's head) * @param panDeg - Degrees of camera pan. Orbital adjustment is applied before pan adjustment. * @param tiltDeg - Degrees of camera tilt. Orbital adjustment is applied before tilt adjustment. */ animateToNamedCameraWithOrbitPan(cameraName: string, time: number, orbitDegX: number, orbitDegY: number, panDeg: number, tiltDeg: number): Promise; /** * Play an animation. * @internal * @param animation - Structured animation data. */ playAnimation(animation: AnimationModel): Promise; /** * Get & Set bl variables. * @internal */ getVariables(names: string[], errorTolerant?: boolean, format?: string): Promise; /** * @internal */ setVariables(variables: VariablesModel): Promise; /** * @internal */ setVariablesOneway(variables: VariablesModel): void; /** * Get bl variables list. * @internal */ getVariablesList(): Promise; /** * Get model bl variables list. * @internal */ getModelVariablesList(modelName: string): Promise; /** * Get model children. * @internal */ getModelChildren(modelName: string): Promise; /** * Get model list by snippet. * @internal */ getModelFilterSearchResult(modelName: string): Promise; /** * Get model variable list by snippet. * @internal */ getModelVariableFilterSearchResult(variableName: string): Promise; /** * Get connector entries. * @internal */ getConnectorEntries(model: string): Promise; /** * Start BL profiling. * @internal */ startBlProfiling(): Promise; /** * Stop BL profiling. * @internal */ stopBlProfiling(reverse: boolean): Promise; /** * Get model hierarchy. * @internal */ getModelHierarchy(model: string): Promise; /** * Monitor bl variables. * @internal */ createMonitorSet(setName: string, variables: Record): Promise; /** * @internal */ removeMonitorSet(setName: string): Promise; /** * @internal */ addVariableToMonitorSet(setName: string, variables: Record): Promise; /** * @internal */ removeVariableFromMonitorSet(setName: string, variables: Record): Promise; /** * @internal */ renderModel(modelName: string): Promise; get onConversationResultEvent(): SmEvent; get onSpeechMarkerEvent(): SmEvent; } //# sourceMappingURL=Persona.d.ts.map