import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types" ; import { ClaimDevicesByClaimCodeCommand , ClaimDevicesByClaimCodeCommandInput , ClaimDevicesByClaimCodeCommandOutput , } from "./commands/ClaimDevicesByClaimCodeCommand" ; import { DescribeDeviceCommand , DescribeDeviceCommandInput , DescribeDeviceCommandOutput , } from "./commands/DescribeDeviceCommand" ; import { FinalizeDeviceClaimCommand , FinalizeDeviceClaimCommandInput , FinalizeDeviceClaimCommandOutput , } from "./commands/FinalizeDeviceClaimCommand" ; import { GetDeviceMethodsCommand , GetDeviceMethodsCommandInput , GetDeviceMethodsCommandOutput , } from "./commands/GetDeviceMethodsCommand" ; import { InitiateDeviceClaimCommand , InitiateDeviceClaimCommandInput , InitiateDeviceClaimCommandOutput , } from "./commands/InitiateDeviceClaimCommand" ; import { InvokeDeviceMethodCommand , InvokeDeviceMethodCommandInput , InvokeDeviceMethodCommandOutput , } from "./commands/InvokeDeviceMethodCommand" ; import { ListDeviceEventsCommand , ListDeviceEventsCommandInput , ListDeviceEventsCommandOutput , } from "./commands/ListDeviceEventsCommand" ; import { ListDevicesCommand , ListDevicesCommandInput , ListDevicesCommandOutput } from "./commands/ListDevicesCommand" ; import { ListTagsForResourceCommand , ListTagsForResourceCommandInput , ListTagsForResourceCommandOutput , } from "./commands/ListTagsForResourceCommand" ; import { TagResourceCommand , TagResourceCommandInput , TagResourceCommandOutput } from "./commands/TagResourceCommand" ; import { UnclaimDeviceCommand , UnclaimDeviceCommandInput , UnclaimDeviceCommandOutput , } from "./commands/UnclaimDeviceCommand" ; import { UntagResourceCommand , UntagResourceCommandInput , UntagResourceCommandOutput , } from "./commands/UntagResourceCommand" ; import { UpdateDeviceStateCommand , UpdateDeviceStateCommandInput , UpdateDeviceStateCommandOutput , } from "./commands/UpdateDeviceStateCommand" ; import { IoT1ClickDevicesServiceClient } from "./IoT1ClickDevicesServiceClient" ; /**
 * <p>Describes all of the AWS IoT 1-Click device-related API operations for the service.
 *  Also provides sample requests, responses, and errors for the supported web services
 *  protocols.</p>
 */ export class IoT1ClickDevicesService extends IoT1ClickDevicesServiceClient { /**
     * <p>Adds device(s) to your account (i.e., claim one or more devices) if and only if you
     *  received a claim code with the device(s).</p>
     */ public claimDevicesByClaimCode ( args , options ? ) ; public claimDevicesByClaimCode ( args , cb ) ; public claimDevicesByClaimCode ( args , options , cb ) ; public claimDevicesByClaimCode ( args , optionsOrCb ? , cb ? ) { const command = new ClaimDevicesByClaimCodeCommand ( 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>Given a device ID, returns a DescribeDeviceResponse object describing the
     *  details of the device.</p>
     */ public describeDevice ( args , options ? ) ; public describeDevice ( args , cb ) ; public describeDevice ( args , options , cb ) ; public describeDevice ( args , optionsOrCb ? , cb ? ) { const command = new DescribeDeviceCommand ( 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>Given a device ID, finalizes the claim request for the associated device.</p><note>
     *  <p>Claiming a device consists of initiating a claim, then publishing a device event,
     *  and finalizing the claim. For a device of type button, a device event can
     *  be published by simply clicking the device.</p>
     *  </note>
     */ public finalizeDeviceClaim ( args , options ? ) ; public finalizeDeviceClaim ( args , cb ) ; public finalizeDeviceClaim ( args , options , cb ) ; public finalizeDeviceClaim ( args , optionsOrCb ? , cb ? ) { const command = new FinalizeDeviceClaimCommand ( 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>Given a device ID, returns the invokable methods associated with the device.</p>
     */ public getDeviceMethods ( args , options ? ) ; public getDeviceMethods ( args , cb ) ; public getDeviceMethods ( args , options , cb ) ; public getDeviceMethods ( args , optionsOrCb ? , cb ? ) { const command = new GetDeviceMethodsCommand ( 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>Given a device ID, initiates a claim request for the associated device.</p><note>
     *  <p>Claiming a device consists of initiating a claim, then publishing a device event,
     *  and finalizing the claim. For a device of type button, a device event can
     *  be published by simply clicking the device.</p>
     *  </note>
     */ public initiateDeviceClaim ( args , options ? ) ; public initiateDeviceClaim ( args , cb ) ; public initiateDeviceClaim ( args , options , cb ) ; public initiateDeviceClaim ( args , optionsOrCb ? , cb ? ) { const command = new InitiateDeviceClaimCommand ( 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>Given a device ID, issues a request to invoke a named device method (with possible
     *  parameters). See the "Example POST" code snippet below.</p>
     */ public invokeDeviceMethod ( args , options ? ) ; public invokeDeviceMethod ( args , cb ) ; public invokeDeviceMethod ( args , options , cb ) ; public invokeDeviceMethod ( args , optionsOrCb ? , cb ? ) { const command = new InvokeDeviceMethodCommand ( 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>Using a device ID, returns a DeviceEventsResponse object containing an
     *  array of events for the device.</p>
     */ public listDeviceEvents ( args , options ? ) ; public listDeviceEvents ( args , cb ) ; public listDeviceEvents ( args , options , cb ) ; public listDeviceEvents ( args , optionsOrCb ? , cb ? ) { const command = new ListDeviceEventsCommand ( 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 1-Click compatible devices associated with your AWS account.</p>
     */ public listDevices ( args , options ? ) ; public listDevices ( args , cb ) ; public listDevices ( args , options , cb ) ; public listDevices ( args , optionsOrCb ? , cb ? ) { const command = new ListDevicesCommand ( 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 tags associated with the specified resource ARN.</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>Adds or updates the tags associated with the resource ARN. See <a href="https://docs.aws.amazon.com/iot-1-click/latest/developerguide/1click-appendix.html#1click-limits">AWS IoT 1-Click Service Limits</a> for the maximum number of tags allowed per
     *  resource.</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>Disassociates a device from your AWS account using its device ID.</p>
     */ public unclaimDevice ( args , options ? ) ; public unclaimDevice ( args , cb ) ; public unclaimDevice ( args , options , cb ) ; public unclaimDevice ( args , optionsOrCb ? , cb ? ) { const command = new UnclaimDeviceCommand ( 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>Using tag keys, deletes the tags (key/value pairs) associated with the specified
     *  resource ARN.</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>Using a Boolean value (true or false), this operation
     *  enables or disables the device given a device ID.</p>
     */ public updateDeviceState ( args , options ? ) ; public updateDeviceState ( args , cb ) ; public updateDeviceState ( args , options , cb ) ; public updateDeviceState ( args , optionsOrCb ? , cb ? ) { const command = new UpdateDeviceStateCommand ( 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 ) ; } } }