import { HttpHandlerOptions as __HttpHandlerOptions } from "@smithy/types";
import { DeleteThingShadowCommandInput, DeleteThingShadowCommandOutput } from "./commands/DeleteThingShadowCommand";
import { GetRetainedMessageCommandInput, GetRetainedMessageCommandOutput } from "./commands/GetRetainedMessageCommand";
import { GetThingShadowCommandInput, GetThingShadowCommandOutput } from "./commands/GetThingShadowCommand";
import { ListNamedShadowsForThingCommandInput, ListNamedShadowsForThingCommandOutput } from "./commands/ListNamedShadowsForThingCommand";
import { ListRetainedMessagesCommandInput, ListRetainedMessagesCommandOutput } from "./commands/ListRetainedMessagesCommand";
import { PublishCommandInput, PublishCommandOutput } from "./commands/PublishCommand";
import { UpdateThingShadowCommandInput, UpdateThingShadowCommandOutput } from "./commands/UpdateThingShadowCommand";
import { IoTDataPlaneClient } from "./IoTDataPlaneClient";
export interface IoTDataPlane {
    /**
     * @see {@link DeleteThingShadowCommand}
     */
    deleteThingShadow(args: DeleteThingShadowCommandInput, options?: __HttpHandlerOptions): Promise<DeleteThingShadowCommandOutput>;
    deleteThingShadow(args: DeleteThingShadowCommandInput, cb: (err: any, data?: DeleteThingShadowCommandOutput) => void): void;
    deleteThingShadow(args: DeleteThingShadowCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DeleteThingShadowCommandOutput) => void): void;
    /**
     * @see {@link GetRetainedMessageCommand}
     */
    getRetainedMessage(args: GetRetainedMessageCommandInput, options?: __HttpHandlerOptions): Promise<GetRetainedMessageCommandOutput>;
    getRetainedMessage(args: GetRetainedMessageCommandInput, cb: (err: any, data?: GetRetainedMessageCommandOutput) => void): void;
    getRetainedMessage(args: GetRetainedMessageCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetRetainedMessageCommandOutput) => void): void;
    /**
     * @see {@link GetThingShadowCommand}
     */
    getThingShadow(args: GetThingShadowCommandInput, options?: __HttpHandlerOptions): Promise<GetThingShadowCommandOutput>;
    getThingShadow(args: GetThingShadowCommandInput, cb: (err: any, data?: GetThingShadowCommandOutput) => void): void;
    getThingShadow(args: GetThingShadowCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetThingShadowCommandOutput) => void): void;
    /**
     * @see {@link ListNamedShadowsForThingCommand}
     */
    listNamedShadowsForThing(args: ListNamedShadowsForThingCommandInput, options?: __HttpHandlerOptions): Promise<ListNamedShadowsForThingCommandOutput>;
    listNamedShadowsForThing(args: ListNamedShadowsForThingCommandInput, cb: (err: any, data?: ListNamedShadowsForThingCommandOutput) => void): void;
    listNamedShadowsForThing(args: ListNamedShadowsForThingCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ListNamedShadowsForThingCommandOutput) => void): void;
    /**
     * @see {@link ListRetainedMessagesCommand}
     */
    listRetainedMessages(): Promise<ListRetainedMessagesCommandOutput>;
    listRetainedMessages(args: ListRetainedMessagesCommandInput, options?: __HttpHandlerOptions): Promise<ListRetainedMessagesCommandOutput>;
    listRetainedMessages(args: ListRetainedMessagesCommandInput, cb: (err: any, data?: ListRetainedMessagesCommandOutput) => void): void;
    listRetainedMessages(args: ListRetainedMessagesCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ListRetainedMessagesCommandOutput) => void): void;
    /**
     * @see {@link PublishCommand}
     */
    publish(args: PublishCommandInput, options?: __HttpHandlerOptions): Promise<PublishCommandOutput>;
    publish(args: PublishCommandInput, cb: (err: any, data?: PublishCommandOutput) => void): void;
    publish(args: PublishCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: PublishCommandOutput) => void): void;
    /**
     * @see {@link UpdateThingShadowCommand}
     */
    updateThingShadow(args: UpdateThingShadowCommandInput, options?: __HttpHandlerOptions): Promise<UpdateThingShadowCommandOutput>;
    updateThingShadow(args: UpdateThingShadowCommandInput, cb: (err: any, data?: UpdateThingShadowCommandOutput) => void): void;
    updateThingShadow(args: UpdateThingShadowCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: UpdateThingShadowCommandOutput) => void): void;
}
/**
 * <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>
 * @public
 */
export declare class IoTDataPlane extends IoTDataPlaneClient implements IoTDataPlane {
}
