export interface AcknowledgeAlarmActionRequest {
    /** The request ID. Each ID must be unique within each batch. */
    requestId: string;
    /** The name of the alarm model. */
    alarmModelName: string;
    /** The value of the key used as a filter to select only the alarms associated with the key. */
    keyValue?: string;
    /** The note that you can leave when you acknowledge the alarm. */
    note?: string;
}
export interface DeleteDetectorRequest {
    /** The ID to assign to the DeleteDetectorRequest. Each "messageId" must be unique within each batch sent. */
    messageId: string;
    /** The name of the detector model that was used to create the detector instance. */
    detectorModelName: string;
    /** The value of the key used to identify the detector. */
    keyValue?: string;
}
export interface DisableAlarmActionRequest {
    /** The request ID. Each ID must be unique within each batch. */
    requestId: string;
    /** The name of the alarm model. */
    alarmModelName: string;
    /** The value of the key used as a filter to select only the alarms associated with the key. */
    keyValue?: string;
    /** The note that you can leave when you disable the alarm. */
    note?: string;
}
export interface EnableAlarmActionRequest {
    /** The request ID. Each ID must be unique within each batch. */
    requestId: string;
    /** The name of the alarm model. */
    alarmModelName: string;
    /** The value of the key used as a filter to select only the alarms associated with the key. */
    keyValue?: string;
    /** The note that you can leave when you enable the alarm. */
    note?: string;
}
export interface Message {
    /** The ID to assign to the message. Within each batch sent, each "messageId" must be unique. */
    messageId: string;
    /** The name of the input into which the message payload is transformed. */
    inputName: string;
    /** The payload of the message. This can be a JSON string or a Base-64-encoded string representing binary data (in which case you must decode it). */
    payload: string;
    /** The timestamp associated with the message. */
    timestamp?: any;
}
export interface ResetAlarmActionRequest {
    /** The request ID. Each ID must be unique within each batch. */
    requestId: string;
    /** The name of the alarm model. */
    alarmModelName: string;
    /** The value of the key used as a filter to select only the alarms associated with the key. */
    keyValue?: string;
    /** The note that you can leave when you reset the alarm. */
    note?: string;
}
export interface SnoozeAlarmActionRequest {
    /** The request ID. Each ID must be unique within each batch. */
    requestId: string;
    /** The name of the alarm model. */
    alarmModelName: string;
    /** The value of the key used as a filter to select only the alarms associated with the key. */
    keyValue?: string;
    /** The note that you can leave when you snooze the alarm. */
    note?: string;
    /** The snooze time in seconds. The alarm automatically changes to the NORMAL state after this duration. */
    snoozeDuration: number;
}
export interface UpdateDetectorRequest {
    /** The ID to assign to the detector update "message". Each "messageId" must be unique within each batch sent. */
    messageId: string;
    /** The name of the detector model that created the detectors (instances). */
    detectorModelName: string;
    /** The value of the input key attribute (identifying the device or system) that caused the creation of this detector (instance). */
    keyValue?: string;
    /** The new state, variable values, and timer settings of the detector (instance). */
    state: any;
}
export interface BatchAcknowledgeAlarmInput {
    /** The list of acknowledge action requests. You can specify up to 10 requests per operation. */
    acknowledgeActionRequests: AcknowledgeAlarmActionRequest[];
}
export interface BatchDeleteDetectorInput {
    /** The list of one or more detectors to be deleted. */
    detectors: DeleteDetectorRequest[];
}
export interface BatchDisableAlarmInput {
    /** The list of disable action requests. You can specify up to 10 requests per operation. */
    disableActionRequests: DisableAlarmActionRequest[];
}
export interface BatchEnableAlarmInput {
    /** The list of enable action requests. You can specify up to 10 requests per operation. */
    enableActionRequests: EnableAlarmActionRequest[];
}
export interface BatchPutMessageInput {
    /** The list of messages to send. Each message has the following format: '{ "messageId": "string", "inputName": "string", "payload": "string"}' */
    messages: Message[];
}
export interface BatchResetAlarmInput {
    /** The list of reset action requests. You can specify up to 10 requests per operation. */
    resetActionRequests: ResetAlarmActionRequest[];
}
export interface BatchSnoozeAlarmInput {
    /** The list of snooze action requests. You can specify up to 10 requests per operation. */
    snoozeActionRequests: SnoozeAlarmActionRequest[];
}
export interface BatchUpdateDetectorInput {
    /** The list of detectors (instances) to update, along with the values to update. */
    detectors: UpdateDetectorRequest[];
}
export interface DescribeAlarmInput {
    /** The name of the alarm model. */
    alarmModelName: string;
    /** The value of the key used as a filter to select only the alarms associated with the key. */
    keyValue?: string;
}
export interface DescribeDetectorInput {
    /** The name of the detector model whose detectors (instances) you want information about. */
    detectorModelName: string;
    /** A filter used to limit results to detectors (instances) created because of the given key ID. */
    keyValue?: string;
}
export interface ListAlarmsInput {
    /** The name of the alarm model. */
    alarmModelName: string;
    /** The maximum number of results to be returned per request. */
    maxResults?: number;
    /** The token that you can use to return the next set of results. */
    nextToken?: string;
}
export interface ListDetectorsInput {
    /** The name of the detector model whose detectors (instances) are listed. */
    detectorModelName: string;
    /** The maximum number of results to be returned per request. */
    maxResults?: number;
    /** The token that you can use to return the next set of results. */
    nextToken?: string;
    /** A filter that limits results to those detectors (instances) in the given state. */
    stateName?: string;
}
/** IoT Events Data service binding for Step Functions SDK integrations. */
export declare class IoTEventsData {
    constructor();
    batchAcknowledgeAlarm<T>(params: BatchAcknowledgeAlarmInput): Promise<T>;
    batchDeleteDetector<T>(params: BatchDeleteDetectorInput): Promise<T>;
    batchDisableAlarm<T>(params: BatchDisableAlarmInput): Promise<T>;
    batchEnableAlarm<T>(params: BatchEnableAlarmInput): Promise<T>;
    batchPutMessage<T>(params: BatchPutMessageInput): Promise<T>;
    batchResetAlarm<T>(params: BatchResetAlarmInput): Promise<T>;
    batchSnoozeAlarm<T>(params: BatchSnoozeAlarmInput): Promise<T>;
    batchUpdateDetector<T>(params: BatchUpdateDetectorInput): Promise<T>;
    describeAlarm<T>(params: DescribeAlarmInput): Promise<T>;
    describeDetector<T>(params: DescribeDetectorInput): Promise<T>;
    listAlarms<T>(params: ListAlarmsInput): Promise<T>;
    listDetectors<T>(params: ListDetectorsInput): Promise<T>;
}
//# sourceMappingURL=IoTEventsData.d.ts.map