import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types" ; import { CompleteAttachmentUploadCommand , CompleteAttachmentUploadCommandInput , CompleteAttachmentUploadCommandOutput , } from "./commands/CompleteAttachmentUploadCommand" ; import { CreateParticipantConnectionCommand , CreateParticipantConnectionCommandInput , CreateParticipantConnectionCommandOutput , } from "./commands/CreateParticipantConnectionCommand" ; import { DisconnectParticipantCommand , DisconnectParticipantCommandInput , DisconnectParticipantCommandOutput , } from "./commands/DisconnectParticipantCommand" ; import { GetAttachmentCommand , GetAttachmentCommandInput , GetAttachmentCommandOutput , } from "./commands/GetAttachmentCommand" ; import { GetTranscriptCommand , GetTranscriptCommandInput , GetTranscriptCommandOutput , } from "./commands/GetTranscriptCommand" ; import { SendEventCommand , SendEventCommandInput , SendEventCommandOutput } from "./commands/SendEventCommand" ; import { SendMessageCommand , SendMessageCommandInput , SendMessageCommandOutput } from "./commands/SendMessageCommand" ; import { StartAttachmentUploadCommand , StartAttachmentUploadCommandInput , StartAttachmentUploadCommandOutput , } from "./commands/StartAttachmentUploadCommand" ; import { ConnectParticipantClient } from "./ConnectParticipantClient" ; /**
 * <p>Amazon Connect is a cloud-based contact center solution that makes it easy to set up and manage
 *             a customer contact center and provide reliable customer engagement at any scale.</p>
 *         <p>Amazon Connect enables customer contacts through voice or chat.</p>
 *
 *         <p>The APIs described here are used by chat participants, such as agents and
 *             customers.</p>
 */ export class ConnectParticipant extends ConnectParticipantClient { /**
     * <p>Allows you to confirm that the attachment has been uploaded using the pre-signed URL
     *             provided in StartAttachmentUpload API. </p>
     *          <p>The Amazon Connect Participant Service APIs do not use <a href="https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html">Signature Version 4
     *                     authentication</a>.</p>
     */ public completeAttachmentUpload ( args , options ? ) ; public completeAttachmentUpload ( args , cb ) ; public completeAttachmentUpload ( args , options , cb ) ; public completeAttachmentUpload ( args , optionsOrCb ? , cb ? ) { const command = new CompleteAttachmentUploadCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Creates the participant's connection.  Note that ParticipantToken is used for invoking this API instead of
     *             ConnectionToken.</p>
     *         <p>The participant token is valid for the lifetime of the participant –
     *             until they are part of a contact.</p>
     *         <p>The response URL for <code>WEBSOCKET</code> Type has a connect expiry timeout of 100s.
     *             Clients must manually connect to the returned websocket URL and subscribe to the desired
     *             topic. </p>
     *         <p>For chat, you need to publish the following on the established websocket
     *             connection:</p>
     *         <p>
     *             <code>{"topic":"aws/subscribe","content":{"topics":["aws/chat"]}}</code>
     *          </p>
     *         <p>Upon websocket URL expiry, as specified in the response ConnectionExpiry parameter,
     *             clients need to call this API again to obtain a new websocket URL and perform the same
     *             steps as before.</p>
     *         <p>
     *             <b>Message streaming support</b>: This API can also be used together with the
     *             <a href="https://docs.aws.amazon.com/connect/latest/APIReference/API_StartContactStreaming.html">StartContactStreaming</a>
     *             API to create a participant connection for chat contacts that are
     *             not using a websocket. For more information about message streaming, <a href="https://docs.aws.amazon.com/connect/latest/adminguide/chat-message-streaming.html">Enable real-time chat message streaming</a> in the <i>Amazon Connect
     *                     Administrator Guide</i>.</p>
     *         <p>
     *             <b>Feature specifications</b>: For information about feature specifications, such as the allowed number of open
     *             websocket connections per participant, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html#feature-limits">Feature specifications</a> in the <i>Amazon Connect Administrator
     *                 Guide</i>. </p>
     *         <note>
     *             <p>The Amazon Connect Participant Service APIs do not use <a href="https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html">Signature Version 4
     *                     authentication</a>.</p>
     *          </note>
     */ public createParticipantConnection ( args , options ? ) ; public createParticipantConnection ( args , cb ) ; public createParticipantConnection ( args , options , cb ) ; public createParticipantConnection ( args , optionsOrCb ? , cb ? ) { const command = new CreateParticipantConnectionCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Disconnects a participant. Note that ConnectionToken is used for invoking this API
     *             instead of ParticipantToken.</p>
     *          <p>The Amazon Connect Participant Service APIs do not use <a href="https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html">Signature Version 4
     *                     authentication</a>.</p>
     */ public disconnectParticipant ( args , options ? ) ; public disconnectParticipant ( args , cb ) ; public disconnectParticipant ( args , options , cb ) ; public disconnectParticipant ( args , optionsOrCb ? , cb ? ) { const command = new DisconnectParticipantCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Provides a pre-signed URL for download of a completed attachment. This is an
     *             asynchronous API for use with active contacts.</p>
     *          <p>The Amazon Connect Participant Service APIs do not use <a href="https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html">Signature Version 4
     *                     authentication</a>.</p>
     */ public getAttachment ( args , options ? ) ; public getAttachment ( args , cb ) ; public getAttachment ( args , options , cb ) ; public getAttachment ( args , optionsOrCb ? , cb ? ) { const command = new GetAttachmentCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Retrieves a transcript of the session, including details about any attachments. Note
     *             that ConnectionToken is used for invoking this API instead of ParticipantToken.</p>
     *         <p>The Amazon Connect Participant Service APIs do not use <a href="https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html">Signature Version 4
     *                     authentication</a>.</p>
     */ public getTranscript ( args , options ? ) ; public getTranscript ( args , cb ) ; public getTranscript ( args , options , cb ) ; public getTranscript ( args , optionsOrCb ? , cb ? ) { const command = new GetTranscriptCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Sends an event. Note that ConnectionToken is used for invoking this API instead of
     *             ParticipantToken.</p>
     *          <p>The Amazon Connect Participant Service APIs do not use <a href="https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html">Signature Version 4
     *                     authentication</a>.</p>
     */ public sendEvent ( args , options ? ) ; public sendEvent ( args , cb ) ; public sendEvent ( args , options , cb ) ; public sendEvent ( args , optionsOrCb ? , cb ? ) { const command = new SendEventCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Sends a message. Note that ConnectionToken is used for invoking this API instead of
     *             ParticipantToken.</p>
     *          <p>The Amazon Connect Participant Service APIs do not use <a href="https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html">Signature Version 4
     *                     authentication</a>.</p>
     */ public sendMessage ( args , options ? ) ; public sendMessage ( args , cb ) ; public sendMessage ( args , options , cb ) ; public sendMessage ( args , optionsOrCb ? , cb ? ) { const command = new SendMessageCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Provides a pre-signed Amazon S3 URL in response for uploading the file directly to
     *             S3.</p>
     *          <p>The Amazon Connect Participant Service APIs do not use <a href="https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html">Signature Version 4
     *                     authentication</a>.</p>
     */ public startAttachmentUpload ( args , options ? ) ; public startAttachmentUpload ( args , cb ) ; public startAttachmentUpload ( args , options , cb ) ; public startAttachmentUpload ( args , optionsOrCb ? , cb ? ) { const command = new StartAttachmentUploadCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } }