import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types" ; import { CreateSignalingChannelCommand , CreateSignalingChannelCommandInput , CreateSignalingChannelCommandOutput , } from "./commands/CreateSignalingChannelCommand" ; import { CreateStreamCommand , CreateStreamCommandInput , CreateStreamCommandOutput , } from "./commands/CreateStreamCommand" ; import { DeleteSignalingChannelCommand , DeleteSignalingChannelCommandInput , DeleteSignalingChannelCommandOutput , } from "./commands/DeleteSignalingChannelCommand" ; import { DeleteStreamCommand , DeleteStreamCommandInput , DeleteStreamCommandOutput , } from "./commands/DeleteStreamCommand" ; import { DescribeSignalingChannelCommand , DescribeSignalingChannelCommandInput , DescribeSignalingChannelCommandOutput , } from "./commands/DescribeSignalingChannelCommand" ; import { DescribeStreamCommand , DescribeStreamCommandInput , DescribeStreamCommandOutput , } from "./commands/DescribeStreamCommand" ; import { GetDataEndpointCommand , GetDataEndpointCommandInput , GetDataEndpointCommandOutput , } from "./commands/GetDataEndpointCommand" ; import { GetSignalingChannelEndpointCommand , GetSignalingChannelEndpointCommandInput , GetSignalingChannelEndpointCommandOutput , } from "./commands/GetSignalingChannelEndpointCommand" ; import { ListSignalingChannelsCommand , ListSignalingChannelsCommandInput , ListSignalingChannelsCommandOutput , } from "./commands/ListSignalingChannelsCommand" ; import { ListStreamsCommand , ListStreamsCommandInput , ListStreamsCommandOutput } from "./commands/ListStreamsCommand" ; import { ListTagsForResourceCommand , ListTagsForResourceCommandInput , ListTagsForResourceCommandOutput , } from "./commands/ListTagsForResourceCommand" ; import { ListTagsForStreamCommand , ListTagsForStreamCommandInput , ListTagsForStreamCommandOutput , } from "./commands/ListTagsForStreamCommand" ; import { TagResourceCommand , TagResourceCommandInput , TagResourceCommandOutput } from "./commands/TagResourceCommand" ; import { TagStreamCommand , TagStreamCommandInput , TagStreamCommandOutput } from "./commands/TagStreamCommand" ; import { UntagResourceCommand , UntagResourceCommandInput , UntagResourceCommandOutput , } from "./commands/UntagResourceCommand" ; import { UntagStreamCommand , UntagStreamCommandInput , UntagStreamCommandOutput } from "./commands/UntagStreamCommand" ; import { UpdateDataRetentionCommand , UpdateDataRetentionCommandInput , UpdateDataRetentionCommandOutput , } from "./commands/UpdateDataRetentionCommand" ; import { UpdateSignalingChannelCommand , UpdateSignalingChannelCommandInput , UpdateSignalingChannelCommandOutput , } from "./commands/UpdateSignalingChannelCommand" ; import { UpdateStreamCommand , UpdateStreamCommandInput , UpdateStreamCommandOutput , } from "./commands/UpdateStreamCommand" ; import { KinesisVideoClient } from "./KinesisVideoClient" ; /**
 * <p></p>
 */ export class KinesisVideo extends KinesisVideoClient { /**
     * <p>Creates a signaling channel. </p>
     *         <p>
     *             <code>CreateSignalingChannel</code> is an asynchronous operation.</p>
     */ public createSignalingChannel ( args , options ? ) ; public createSignalingChannel ( args , cb ) ; public createSignalingChannel ( args , options , cb ) ; public createSignalingChannel ( args , optionsOrCb ? , cb ? ) { const command = new CreateSignalingChannelCommand ( 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 a new Kinesis video stream. </p>
     *
     *         <p>When you create a new stream, Kinesis Video Streams assigns it a version number.
     *             When you change the stream's metadata, Kinesis Video Streams updates the version. </p>
     *         <p>
     *             <code>CreateStream</code> is an asynchronous operation.</p>
     *         <p>For information about how the service works, see <a href="https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/how-it-works.html">How it Works</a>. </p>
     *         <p>You must have permissions for the <code>KinesisVideo:CreateStream</code>
     *             action.</p>
     */ public createStream ( args , options ? ) ; public createStream ( args , cb ) ; public createStream ( args , options , cb ) ; public createStream ( args , optionsOrCb ? , cb ? ) { const command = new CreateStreamCommand ( 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>Deletes a specified signaling channel. <code>DeleteSignalingChannel</code> is an
     *             asynchronous operation. If you don't specify the channel's current version, the most
     *             recent version is deleted.</p>
     */ public deleteSignalingChannel ( args , options ? ) ; public deleteSignalingChannel ( args , cb ) ; public deleteSignalingChannel ( args , options , cb ) ; public deleteSignalingChannel ( args , optionsOrCb ? , cb ? ) { const command = new DeleteSignalingChannelCommand ( 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>Deletes a Kinesis video stream and the data contained in the stream. </p>
     *         <p>This method marks the stream for deletion, and makes the data in the stream
     *             inaccessible immediately.</p>
     *         <p> </p>
     *         <p> To ensure that you have the latest version of the stream before deleting it, you
     *             can specify the stream version. Kinesis Video Streams assigns a version to each stream.
     *             When you update a stream, Kinesis Video Streams assigns a new version number. To get the
     *             latest stream version, use the <code>DescribeStream</code> API. </p>
     *         <p>This operation requires permission for the <code>KinesisVideo:DeleteStream</code>
     *             action.</p>
     */ public deleteStream ( args , options ? ) ; public deleteStream ( args , cb ) ; public deleteStream ( args , options , cb ) ; public deleteStream ( args , optionsOrCb ? , cb ? ) { const command = new DeleteStreamCommand ( 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>Returns the most current information about the signaling channel. You must specify
     *             either the name or the Amazon Resource Name (ARN) of the channel that you want to
     *             describe.</p>
     */ public describeSignalingChannel ( args , options ? ) ; public describeSignalingChannel ( args , cb ) ; public describeSignalingChannel ( args , options , cb ) ; public describeSignalingChannel ( args , optionsOrCb ? , cb ? ) { const command = new DescribeSignalingChannelCommand ( 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>Returns the most current information about the specified stream. You must specify
     *             either the <code>StreamName</code> or the <code>StreamARN</code>. </p>
     */ public describeStream ( args , options ? ) ; public describeStream ( args , cb ) ; public describeStream ( args , options , cb ) ; public describeStream ( args , optionsOrCb ? , cb ? ) { const command = new DescribeStreamCommand ( 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>Gets an endpoint for a specified stream for either reading or writing. Use this
     *             endpoint in your application to read from the specified stream (using the
     *                 <code>GetMedia</code> or <code>GetMediaForFragmentList</code> operations) or write
     *             to it (using the <code>PutMedia</code> operation).
     *             </p>
     *         <note>
     *             <p>The returned endpoint does not have the API name appended. The client needs to
     *                 add the API name to the returned endpoint.</p>
     *         </note>
     *
     *         <p>In the request, specify the stream either by <code>StreamName</code> or
     *                 <code>StreamARN</code>.</p>
     */ public getDataEndpoint ( args , options ? ) ; public getDataEndpoint ( args , cb ) ; public getDataEndpoint ( args , options , cb ) ; public getDataEndpoint ( args , optionsOrCb ? , cb ? ) { const command = new GetDataEndpointCommand ( 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 an endpoint for the specified signaling channel to send and receive messages.
     *             This API uses the <code>SingleMasterChannelEndpointConfiguration</code> input parameter,
     *             which consists of the <code>Protocols</code> and <code>Role</code> properties.</p>
     *         <p>
     *             <code>Protocols</code> is used to determine the communication mechanism. For example,
     *             if you specify <code>WSS</code> as the protocol, this API produces a secure websocket
     *             endpoint. If you specify <code>HTTPS</code> as the protocol, this API generates an HTTPS
     *             endpoint. </p>
     *         <p>
     *             <code>Role</code> determines the messaging permissions. A <code>MASTER</code> role
     *             results in this API generating an endpoint that a client can use to communicate with any
     *             of the viewers on the channel. A <code>VIEWER</code> role results in this API generating
     *             an endpoint that a client can use to communicate only with a
     *                 <code>MASTER</code>. </p>
     */ public getSignalingChannelEndpoint ( args , options ? ) ; public getSignalingChannelEndpoint ( args , cb ) ; public getSignalingChannelEndpoint ( args , options , cb ) ; public getSignalingChannelEndpoint ( args , optionsOrCb ? , cb ? ) { const command = new GetSignalingChannelEndpointCommand ( 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>Returns an array of <code>ChannelInfo</code> objects. Each object describes a
     *             signaling channel. To retrieve only those channels that satisfy a specific condition, you can
     *             specify a <code>ChannelNameCondition</code>.</p>
     */ public listSignalingChannels ( args , options ? ) ; public listSignalingChannels ( args , cb ) ; public listSignalingChannels ( args , options , cb ) ; public listSignalingChannels ( args , optionsOrCb ? , cb ? ) { const command = new ListSignalingChannelsCommand ( 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>Returns an array of <code>StreamInfo</code> objects. Each object describes a
     *             stream. To retrieve only streams that satisfy a specific condition, you can specify a
     *                 <code>StreamNameCondition</code>. </p>
     */ public listStreams ( args , options ? ) ; public listStreams ( args , cb ) ; public listStreams ( args , options , cb ) ; public listStreams ( args , optionsOrCb ? , cb ? ) { const command = new ListStreamsCommand ( 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>Returns a list of tags associated with the specified signaling channel.</p>
     */ public listTagsForResource ( args , options ? ) ; public listTagsForResource ( args , cb ) ; public listTagsForResource ( args , options , cb ) ; public listTagsForResource ( args , optionsOrCb ? , cb ? ) { const command = new ListTagsForResourceCommand ( 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>Returns a list of tags associated with the specified stream.</p>
     *         <p>In the request, you must specify either the <code>StreamName</code> or the
     *                 <code>StreamARN</code>. </p>
     */ public listTagsForStream ( args , options ? ) ; public listTagsForStream ( args , cb ) ; public listTagsForStream ( args , options , cb ) ; public listTagsForStream ( args , optionsOrCb ? , cb ? ) { const command = new ListTagsForStreamCommand ( 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>Adds one or more tags to a signaling channel. A <i>tag</i> is a
     *             key-value pair (the value is optional) that you can define and assign to AWS resources.
     *             If you specify a tag that already exists, the tag value is replaced with the value that
     *             you specify in the request. For more information, see <a href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html">Using Cost Allocation
     *                 Tags</a> in the <i>AWS Billing and Cost Management User
     *             Guide</i>.</p>
     */ public tagResource ( args , options ? ) ; public tagResource ( args , cb ) ; public tagResource ( args , options , cb ) ; public tagResource ( args , optionsOrCb ? , cb ? ) { const command = new TagResourceCommand ( 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>Adds one or more tags to a stream. A <i>tag</i> is a key-value pair
     *             (the value is optional) that you can define and assign to AWS resources. If you specify
     *             a tag that already exists, the tag value is replaced with the value that you specify in
     *             the request. For more information, see <a href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html">Using Cost Allocation
     *                 Tags</a> in the <i>AWS Billing and Cost Management User Guide</i>. </p>
     *         <p>You must provide either the <code>StreamName</code> or the
     *             <code>StreamARN</code>.</p>
     *         <p>This operation requires permission for the <code>KinesisVideo:TagStream</code>
     *             action.</p>
     *         <p>Kinesis video streams support up to 50 tags.</p>
     */ public tagStream ( args , options ? ) ; public tagStream ( args , cb ) ; public tagStream ( args , options , cb ) ; public tagStream ( args , optionsOrCb ? , cb ? ) { const command = new TagStreamCommand ( 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>Removes one or more tags from a signaling channel. In the request, specify only a tag
     *             key or keys; don't specify the value. If you specify a tag key that does not exist, it's
     *             ignored.</p>
     */ public untagResource ( args , options ? ) ; public untagResource ( args , cb ) ; public untagResource ( args , options , cb ) ; public untagResource ( args , optionsOrCb ? , cb ? ) { const command = new UntagResourceCommand ( 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>Removes one or more tags from a stream. In the request, specify only a tag key or
     *             keys; don't specify the value. If you specify a tag key that does not exist, it's
     *             ignored.</p>
     *         <p>In the request, you must provide the <code>StreamName</code> or
     *                 <code>StreamARN</code>.</p>
     */ public untagStream ( args , options ? ) ; public untagStream ( args , cb ) ; public untagStream ( args , options , cb ) ; public untagStream ( args , optionsOrCb ? , cb ? ) { const command = new UntagStreamCommand ( 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> Increases or decreases the stream's data retention period by the value that you
     *             specify. To indicate whether you want to increase or decrease the data retention period,
     *             specify the <code>Operation</code> parameter in the request body. In the request, you
     *             must specify either the <code>StreamName</code> or the <code>StreamARN</code>. </p>
     *         <note>
     *             <p>The retention period that you specify replaces the current value.</p>
     *         </note>
     *
     *         <p>This operation requires permission for the
     *                 <code>KinesisVideo:UpdateDataRetention</code> action.</p>
     *
     *         <p>Changing the data retention period affects the data in the stream as
     *             follows:</p>
     *         <ul>
     *             <li>
     *                 <p>If the data retention period is increased, existing data is retained for
     *                     the new retention period. For example, if the data retention period is increased
     *                     from one hour to seven hours, all existing data is retained for seven
     *                     hours.</p>
     *             </li>
     *             <li>
     *                 <p>If the data retention period is decreased, existing data is retained for
     *                     the new retention period. For example, if the data retention period is decreased
     *                     from seven hours to one hour, all existing data is retained for one hour, and
     *                     any data older than one hour is deleted immediately.</p>
     *             </li>
     *          </ul>
     */ public updateDataRetention ( args , options ? ) ; public updateDataRetention ( args , cb ) ; public updateDataRetention ( args , options , cb ) ; public updateDataRetention ( args , optionsOrCb ? , cb ? ) { const command = new UpdateDataRetentionCommand ( 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>Updates the existing signaling channel. This is an asynchronous operation and takes
     *             time to complete. </p>
     *         <p>If the <code>MessageTtlSeconds</code> value is updated (either increased or reduced),
     *             it only applies to new messages sent via this channel after it's been updated. Existing
     *             messages are still expired as per the previous <code>MessageTtlSeconds</code>
     *             value.</p>
     */ public updateSignalingChannel ( args , options ? ) ; public updateSignalingChannel ( args , cb ) ; public updateSignalingChannel ( args , options , cb ) ; public updateSignalingChannel ( args , optionsOrCb ? , cb ? ) { const command = new UpdateSignalingChannelCommand ( 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>Updates stream metadata, such as the device name and media type.</p>
     *         <p>You must provide the stream name or the Amazon Resource Name (ARN) of the
     *             stream.</p>
     *         <p>To make sure that you have the latest version of the stream before updating it, you
     *             can specify the stream version. Kinesis Video Streams assigns a version to each stream.
     *             When you update a stream, Kinesis Video Streams assigns a new version number. To get the
     *             latest stream version, use the <code>DescribeStream</code> API. </p>
     *         <p>
     *             <code>UpdateStream</code> is an asynchronous operation, and takes time to
     *             complete.</p>
     */ public updateStream ( args , options ? ) ; public updateStream ( args , cb ) ; public updateStream ( args , options , cb ) ; public updateStream ( args , optionsOrCb ? , cb ? ) { const command = new UpdateStreamCommand ( 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 ) ; } } }