import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types" ; import { DeleteThingShadowCommand , DeleteThingShadowCommandInput , DeleteThingShadowCommandOutput , } from "./commands/DeleteThingShadowCommand" ; import { GetRetainedMessageCommand , GetRetainedMessageCommandInput , GetRetainedMessageCommandOutput , } from "./commands/GetRetainedMessageCommand" ; import { GetThingShadowCommand , GetThingShadowCommandInput , GetThingShadowCommandOutput , } from "./commands/GetThingShadowCommand" ; import { ListNamedShadowsForThingCommand , ListNamedShadowsForThingCommandInput , ListNamedShadowsForThingCommandOutput , } from "./commands/ListNamedShadowsForThingCommand" ; import { ListRetainedMessagesCommand , ListRetainedMessagesCommandInput , ListRetainedMessagesCommandOutput , } from "./commands/ListRetainedMessagesCommand" ; import { PublishCommand , PublishCommandInput , PublishCommandOutput } from "./commands/PublishCommand" ; import { UpdateThingShadowCommand , UpdateThingShadowCommandInput , UpdateThingShadowCommandOutput , } from "./commands/UpdateThingShadowCommand" ; import { IoTDataPlaneClient } from "./IoTDataPlaneClient" ; /**
 * <fullname>IoT data</fullname>
 *          <p>IoT data enables secure, bi-directional communication between Internet-connected things (such as sensors,
 *       actuators, embedded devices, or smart appliances) and the Amazon Web Services cloud. It implements a broker for applications and
 *       things to publish messages over HTTP (Publish) and retrieve, update, and delete shadows. A shadow is a
 *       persistent representation of your things and their state in the Amazon Web Services cloud.</p>
 *          <p>Find the endpoint address for actions in IoT data by running this CLI command:</p>
 *          <p>
 *             <code>aws iot describe-endpoint --endpoint-type iot:Data-ATS</code>
 *          </p>
 *          <p>The service name used by <a href="https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html">Amazon Web ServicesSignature Version 4</a>
 *       to sign requests is: <i>iotdevicegateway</i>.</p>
 */ export class IoTDataPlane extends IoTDataPlaneClient { /**
     * <p>Deletes the shadow for the specified thing.</p>
     *          <p>Requires permission to access the <a href="https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions">DeleteThingShadow</a> action.</p>
     *          <p>For more information, see <a href="http://docs.aws.amazon.com/iot/latest/developerguide/API_DeleteThingShadow.html">DeleteThingShadow</a> in the IoT Developer Guide.</p>
     */ public deleteThingShadow ( args , options ? ) ; public deleteThingShadow ( args , cb ) ; public deleteThingShadow ( args , options , cb ) ; public deleteThingShadow ( args , optionsOrCb ? , cb ? ) { const command = new DeleteThingShadowCommand ( 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 the details of a single retained message for the specified topic.</p>
     *          <p>This action returns the message payload of the retained message, which can
     *       incur messaging costs. To list only the topic names of the retained messages, call
     *       <a href="/iot/latest/developerguide/API_iotdata_ListRetainedMessages.html">ListRetainedMessages</a>.</p>
     *          <p>Requires permission to access the <a href="https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiotfleethubfordevicemanagement.html#awsiotfleethubfordevicemanagement-actions-as-permissions">GetRetainedMessage</a> action.</p>
     *          <p>For more information about messaging costs, see <a href="http://aws.amazon.com/iot-core/pricing/#Messaging">IoT Core
     *       pricing - Messaging</a>.</p>
     */ public getRetainedMessage ( args , options ? ) ; public getRetainedMessage ( args , cb ) ; public getRetainedMessage ( args , options , cb ) ; public getRetainedMessage ( args , optionsOrCb ? , cb ? ) { const command = new GetRetainedMessageCommand ( 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 the shadow for the specified thing.</p>
     *          <p>Requires permission to access the <a href="https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions">GetThingShadow</a> action.</p>
     *          <p>For more information, see <a href="http://docs.aws.amazon.com/iot/latest/developerguide/API_GetThingShadow.html">GetThingShadow</a> in the
     *         IoT Developer Guide.</p>
     */ public getThingShadow ( args , options ? ) ; public getThingShadow ( args , cb ) ; public getThingShadow ( args , options , cb ) ; public getThingShadow ( args , optionsOrCb ? , cb ? ) { const command = new GetThingShadowCommand ( 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>Lists the shadows for the specified thing.</p>
     *          <p>Requires permission to access the <a href="https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions">ListNamedShadowsForThing</a> action.</p>
     */ public listNamedShadowsForThing ( args , options ? ) ; public listNamedShadowsForThing ( args , cb ) ; public listNamedShadowsForThing ( args , options , cb ) ; public listNamedShadowsForThing ( args , optionsOrCb ? , cb ? ) { const command = new ListNamedShadowsForThingCommand ( 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>Lists summary information about the retained messages stored for the account.</p>
     *          <p>This action returns only the topic names of the retained messages. It doesn't
     *       return any message payloads. Although this action doesn't return a message payload,
     *       it can still incur messaging costs.</p>
     *          <p>To get the message payload of a retained message, call
     *       <a href="https://docs.aws.amazon.com/iot/latest/developerguide/API_iotdata_GetRetainedMessage.html">GetRetainedMessage</a>
     *       with the topic name of the retained message.</p>
     *          <p>Requires permission to access the <a href="https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiotfleethubfordevicemanagement.html#awsiotfleethubfordevicemanagement-actions-as-permissions">ListRetainedMessages</a> action.</p>
     *          <p>For more information about messaging costs, see <a href="http://aws.amazon.com/iot-core/pricing/#Messaging">IoT Core
     *       pricing - Messaging</a>.</p>
     */ public listRetainedMessages ( args , options ? ) ; public listRetainedMessages ( args , cb ) ; public listRetainedMessages ( args , options , cb ) ; public listRetainedMessages ( args , optionsOrCb ? , cb ? ) { const command = new ListRetainedMessagesCommand ( 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>Publishes an MQTT message.</p>
     *          <p>Requires permission to access the <a href="https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions">Publish</a> action.</p>
     *          <p>For more information about MQTT messages, see
     *       <a href="http://docs.aws.amazon.com/iot/latest/developerguide/mqtt.html">MQTT Protocol</a> in the
     *        IoT Developer Guide.</p>
     *          <p>For more information about messaging costs, see <a href="http://aws.amazon.com/iot-core/pricing/#Messaging">IoT Core
     *       pricing - Messaging</a>.</p>
     */ public publish ( args , options ? ) ; public publish ( args , cb ) ; public publish ( args , options , cb ) ; public publish ( args , optionsOrCb ? , cb ? ) { const command = new PublishCommand ( 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 shadow for the specified thing.</p>
     *          <p>Requires permission to access the <a href="https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions">UpdateThingShadow</a> action.</p>
     *          <p>For more information, see <a href="http://docs.aws.amazon.com/iot/latest/developerguide/API_UpdateThingShadow.html">UpdateThingShadow</a> in the
     *         IoT Developer Guide.</p>
     */ public updateThingShadow ( args , options ? ) ; public updateThingShadow ( args , cb ) ; public updateThingShadow ( args , options , cb ) ; public updateThingShadow ( args , optionsOrCb ? , cb ? ) { const command = new UpdateThingShadowCommand ( 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 ) ; } } }