export interface GeneralAuthorizationName {
    /** The name of the authorization material. */
    AuthMaterialName?: string;
}
export interface LambdaConfig {
    /** The Amazon Resource Name (ARN) of the Lambda function used as an endpoint. */
    arn: string;
}
export interface EndpointConfig {
    /** The Lambda function configuration for the endpoint, used when the endpoint communicates through an AWS Lambda function. */
    lambda?: LambdaConfig;
}
export interface OAuthConfig {
    /** The authorization URL for the OAuth service, where users are directed to authenticate and authorize access. */
    authUrl: string;
    /** The token URL for the OAuth service, where authorization codes are exchanged for access tokens. */
    tokenUrl: string;
    /** The OAuth scopes requested during authorization, which define the permissions granted to the application. */
    scope?: string;
    /** The authentication scheme used when requesting tokens from the token endpoint. */
    tokenEndpointAuthenticationScheme: 'HTTP_BASIC' | 'REQUEST_BODY_CREDENTIALS';
    /** The URL where users are redirected after completing the OAuth authorization process. */
    oAuthCompleteRedirectUrl?: string;
    /** Configuration for proactively refreshing OAuth tokens before they expire. */
    proactiveRefreshTokenRenewal?: any;
}
export interface AuthConfig {
    /** The OAuth configuration settings used for authentication with the third-party service. */
    oAuth?: OAuthConfig;
    /** The authorization materials for General Authorization. */
    GeneralAuthorization?: any[];
}
export interface SecretsManager {
    /** The Amazon Resource Name (ARN) of the AWS Secrets Manager secret. */
    arn: string;
    /** The version ID of the AWS Secrets Manager secret. */
    versionId: string;
}
export interface WiFiSimpleSetupConfiguration {
    /** Indicates whether the device can act as a provisioner in Wi-Fi Simple Setup, allowing it to configure other devices. */
    EnableAsProvisioner?: boolean;
    /** Indicates whether the device can act as a provisionee in Wi-Fi Simple Setup, allowing it to be configured by other devices. */
    EnableAsProvisionee?: boolean;
    /** The timeout duration in minutes for Wi-Fi Simple Setup. Valid range is 5 to 15 minutes. */
    TimeoutInMinutes?: number;
}
export interface CapabilityReport {
    /** The version of the capability report. */
    version: string;
    /** The numeric identifier of the node. */
    nodeId?: string;
    /** The endpoints used in the capability report. */
    endpoints: any[];
}
export interface CapabilitySchemaItem {
    /** The format of the capability schema, which defines how the schema is structured and interpreted. */
    Format: 'AWS' | 'ZCL' | 'CONNECTOR';
    /** The unique identifier of the capability defined in the schema. */
    CapabilityId: string;
    /** The external identifier for the capability, used when referencing the capability outside of the AWS ecosystem. */
    ExtrinsicId: string;
    /** The version of the external capability definition, used to track compatibility with external systems. */
    ExtrinsicVersion: number;
    /** The actual schema definition that describes the capability's properties, actions, and events. */
    Schema: any;
}
export interface OtaTaskSchedulingConfig {
    /** Specifies the end behavior for all task executions after a task reaches the selected endTime. If endTime is not selected when creating the task, then endBehavior does not apply. */
    EndBehavior?: 'STOP_ROLLOUT' | 'CANCEL' | 'FORCE_CANCEL';
    /** The time an over-the-air (OTA) task will stop. */
    EndTime?: string;
    /** Maintenance window list for over-the-air (OTA) task scheduling config. */
    MaintenanceWindows?: any[];
    /** The time an over-the-air (OTA) task will start. */
    StartTime?: string;
}
export interface OtaTaskExecutionRetryConfig {
    /** The list of retry config criteria. */
    RetryConfigCriteria?: any[];
}
export interface OtaTaskAbortConfig {
    /** The list of criteria for the abort config. */
    AbortConfigCriteriaList?: any[];
}
export interface OtaTaskExecutionRolloutConfig {
    /** Structure representing exponential rate of rollout for an over-the-air (OTA) task. */
    ExponentialRolloutRate?: any;
    /** The maximum number of things that will be notified of a pending task, per minute. */
    MaximumPerMinute?: number;
}
export interface OtaTaskTimeoutConfig {
    /** Specifies the amount of time the device has to finish execution of this task. The timeout interval can be anywhere between 1 minute and 7 days. */
    InProgressTimeoutInMinutes?: number;
}
export interface PushConfig {
    /** Structure representing one abort config. */
    AbortConfig?: OtaTaskAbortConfig;
    /** Structure representing one rollout config. */
    RolloutConfig?: OtaTaskExecutionRolloutConfig;
    /** Structure representing one timeout config. */
    TimeoutConfig?: OtaTaskTimeoutConfig;
}
export interface RuntimeLogConfigurations {
    /** The different log levels available for configuration. */
    LogLevel?: 'DEBUG' | 'ERROR' | 'INFO' | 'WARN';
    /** The different log levels available for configuration. */
    LogFlushLevel?: 'DEBUG' | 'ERROR' | 'INFO' | 'WARN';
    /** Configuration of where to store runtime logs in the device. */
    LocalStoreLocation?: string;
    /** Configuration to set the maximum number of runtime log files that can be stored on the device before the oldest files are deleted or overwritten. */
    LocalStoreFileRotationMaxFiles?: number;
    /** Configuration to set the maximum bytes of runtime logs that can be stored on the device before the oldest logs are deleted or overwritten. */
    LocalStoreFileRotationMaxBytes?: number;
    /** Configuration to enable or disable uploading of runtime logs to the cloud. */
    UploadLog?: boolean;
    /** Configuration to set the time interval in minutes between each batch of runtime logs that the device uploads to the cloud. */
    UploadPeriodMinutes?: number;
    /** Configuration to enable or disable deleting of runtime logs in the device once uploaded to the cloud. */
    DeleteLocalStoreAfterUpload?: boolean;
}
export interface Device {
    /** The device id as defined by the connector. This parameter is used for cloud-to-cloud devices only. */
    ConnectorDeviceId: string;
    /** The name of the device as defined by the connector. */
    ConnectorDeviceName?: string;
    /** The capability report for the device. */
    CapabilityReport: any;
    /** Report of all capabilities supported by the device. */
    CapabilitySchemas?: any[];
    /** The metadata attributes for a device. */
    DeviceMetadata?: any;
}
export interface MatterEndpoint {
    /** The Matter endpoint id. */
    id?: string;
    /** A list of Matter clusters for a managed thing. */
    clusters?: any[];
}
export interface CommandEndpoint {
    /** The id of the endpoint for a managed thing. */
    endpointId: string;
    /** Describe the endpoint with an id, a name, and the relevant capabilities for sending commands. */
    capabilities: any[];
}
export interface OAuthUpdate {
    /** The updated URL where users are redirected after completing the OAuth authorization process. */
    oAuthCompleteRedirectUrl?: string;
    /** Updated configuration for proactively refreshing OAuth tokens before they expire. */
    proactiveRefreshTokenRenewal?: any;
}
export interface GeneralAuthorizationUpdate {
    /** The authorization materials to add. */
    AuthMaterialsToAdd?: any[];
    /** The authorization materials to update. */
    AuthMaterialsToUpdate?: any[];
}
export interface AuthConfigUpdate {
    /** The updated OAuth configuration settings for the authentication configuration. */
    oAuthUpdate?: OAuthUpdate;
    /** The General Authorization update information containing authorization materials to add or update in Kinesis Data Streams. */
    GeneralAuthorizationUpdate?: GeneralAuthorizationUpdate;
}
export interface CreateAccountAssociationInput {
    /** The identifier of the connector destination. */
    ConnectorDestinationId: string;
    /** An idempotency token. If you retry a request that completed successfully initially using the same client token and parameters, then the retry attempt will succeed without performing any further action */
    ClientToken?: string;
    /** A description of the account association request. */
    Description?: string;
    /** The General Authorization reference by authorization material name. */
    GeneralAuthorization?: GeneralAuthorizationName;
    /** The name of the destination for the new account association. */
    Name?: string;
    /** A set of key/value pairs that are used to manage the account association. */
    Tags?: Record<string, string>;
}
export interface CreateCloudConnectorInput {
    /** The configuration details for the cloud connector endpoint, including connection parameters and authentication requirements. */
    EndpointConfig: EndpointConfig;
    /** The display name of the C2C connector. */
    Name: string;
    /** An idempotency token. If you retry a request that completed successfully initially using the same client token and parameters, then the retry attempt will succeed without performing any further action */
    ClientToken?: string;
    /** A description of the C2C connector. */
    Description?: string;
    /** The type of endpoint used for the cloud connector, which defines how the connector communicates with external services. */
    EndpointType?: 'LAMBDA';
}
export interface CreateConnectorDestinationInput {
    /** The authentication configuration details for the connector destination, including OAuth settings and other authentication parameters. */
    AuthConfig: AuthConfig;
    /** The identifier of the C2C connector. */
    CloudConnectorId: string;
    /** The authentication type used for the connector destination, which determines how credentials and access are managed. */
    AuthType?: 'OAUTH';
    /** An idempotency token. If you retry a request that completed successfully initially using the same client token and parameters, then the retry attempt will succeed without performing any further action */
    ClientToken?: string;
    /** A description of the connector destination. */
    Description?: string;
    /** The display name of the connector destination. */
    Name?: string;
    /** The AWS Secrets Manager configuration used to securely store and manage sensitive information for the connector destination. */
    SecretsManager?: SecretsManager;
}
export interface CreateCredentialLockerInput {
    /** An idempotency token. If you retry a request that completed successfully initially using the same client token and parameters, then the retry attempt will succeed without performing any further action */
    ClientToken?: string;
    /** The name of the credential locker. */
    Name?: string;
    /** A set of key/value pairs that are used to manage the credential locker. */
    Tags?: Record<string, string>;
}
export interface CreateDestinationInput {
    /** The Amazon Resource Name (ARN) of the customer-managed destination. */
    DeliveryDestinationArn: string;
    /** The destination type for the customer-managed destination. */
    DeliveryDestinationType: 'KINESIS';
    /** The name of the customer-managed destination. */
    Name: string;
    /** The Amazon Resource Name (ARN) of the delivery destination role. */
    RoleArn: string;
    /** An idempotency token. If you retry a request that completed successfully initially using the same client token and parameters, then the retry attempt will succeed without performing any further action */
    ClientToken?: string;
    /** The description of the customer-managed destination. */
    Description?: string;
    /** A set of key/value pairs that are used to manage the destination. */
    Tags?: Record<string, string>;
}
export interface CreateEventLogConfigurationInput {
    /** The logging level for the event log configuration. */
    EventLogLevel: 'DEBUG' | 'ERROR' | 'INFO' | 'WARN';
    /** The type of resource for the event log configuration. */
    ResourceType: string;
    /** An idempotency token. If you retry a request that completed successfully initially using the same client token and parameters, then the retry attempt will succeed without performing any further action */
    ClientToken?: string;
    /** The identifier of the resource for the event log configuration. */
    ResourceId?: string;
}
export interface CreateManagedThingInput {
    /** The authentication material defining the device connectivity setup requests. The authorization materials used are the device bar code. */
    AuthenticationMaterial: string;
    /** The type of authentication material used for device connectivity setup requests. */
    AuthenticationMaterialType: 'CUSTOM_PROTOCOL_QR_BAR_CODE' | 'WIFI_SETUP_QR_BAR_CODE' | 'ZWAVE_QR_BAR_CODE' | 'ZIGBEE_QR_BAR_CODE' | 'DISCOVERED_DEVICE' | 'PRE_ONBOARDED_CLOUD';
    /** The type of device used. This will be the hub controller, cloud device, or AWS IoT device. */
    Role: 'CONTROLLER' | 'DEVICE';
    /** The brand of the device. */
    Brand?: string;
    /** The capabilities of the device such as light bulb. */
    Capabilities?: string;
    /** A report of the capabilities for the managed thing. */
    CapabilityReport?: CapabilityReport;
    /** The capability schemas that define the functionality and features supported by the managed thing, including device capabilities and their associated properties. */
    CapabilitySchemas?: CapabilitySchemaItem[];
    /** The classification of the managed thing such as light bulb or thermostat. */
    Classification?: string;
    /** An idempotency token. If you retry a request that completed successfully initially using the same client token and parameters, then the retry attempt will succeed without performing any further action */
    ClientToken?: string;
    /** The identifier of the credential for the managed thing. */
    CredentialLockerId?: string;
    /** The metadata for the managed thing. The managedThing metadata parameter is used for associating attributes with a managedThing that can be used for grouping over-the-air (OTA) tasks. Name value pairs  */
    MetaData?: Record<string, string>;
    /** The model of the device. */
    Model?: string;
    /** The name of the managed thing representing the physical device. */
    Name?: string;
    /** Owner of the device, usually an indication of whom the device belongs to. This value should not contain personal identifiable information. */
    Owner?: string;
    /** The serial number of the device. */
    SerialNumber?: string;
    /** A set of key/value pairs that are used to manage the managed thing. */
    Tags?: Record<string, string>;
    /** The Wi-Fi Simple Setup configuration for the managed thing, which defines provisioning capabilities and timeout settings. */
    WiFiSimpleSetupConfiguration?: WiFiSimpleSetupConfiguration;
}
export interface CreateNotificationConfigurationInput {
    /** The name of the destination for the notification configuration. */
    DestinationName: string;
    /** The type of event triggering a device notification to the customer-managed destination. */
    EventType: 'DEVICE_COMMAND' | 'DEVICE_COMMAND_REQUEST' | 'DEVICE_DISCOVERY_STATUS' | 'DEVICE_EVENT' | 'DEVICE_LIFE_CYCLE' | 'DEVICE_STATE' | 'DEVICE_OTA' | 'DEVICE_WSS' | 'CONNECTOR_ASSOCIATION' | 'ACCOUNT_ASSOCIATION' | 'CONNECTOR_ERROR_REPORT';
    /** An idempotency token. If you retry a request that completed successfully initially using the same client token and parameters, then the retry attempt will succeed without performing any further action */
    ClientToken?: string;
    /** A set of key/value pairs that are used to manage the notification configuration. */
    Tags?: Record<string, string>;
}
export interface CreateOtaTaskInput {
    /** The frequency type for the over-the-air (OTA) task. */
    OtaType: 'ONE_TIME' | 'CONTINUOUS';
    /** The URL to the Amazon S3 bucket where the over-the-air (OTA) task is stored. */
    S3Url: string;
    /** An idempotency token. If you retry a request that completed successfully initially using the same client token and parameters, then the retry attempt will succeed without performing any further action */
    ClientToken?: string;
    /** The description of the over-the-air (OTA) task. */
    Description?: string;
    /** The deployment mechanism for the over-the-air (OTA) task. */
    OtaMechanism?: 'PUSH';
    OtaSchedulingConfig?: OtaTaskSchedulingConfig;
    /** The query string to add things to the thing group. */
    OtaTargetQueryString?: string;
    OtaTaskExecutionRetryConfig?: OtaTaskExecutionRetryConfig;
    /** The connection protocol the over-the-air (OTA) task uses to update the device. */
    Protocol?: 'HTTP';
    /** A set of key/value pairs that are used to manage the over-the-air (OTA) task. */
    Tags?: Record<string, string>;
    /** The device targeted for the over-the-air (OTA) task. */
    Target?: string[];
    /** The identifier for the over-the-air (OTA) task configuration. */
    TaskConfigurationId?: string;
}
export interface CreateOtaTaskConfigurationInput {
    /** An idempotency token. If you retry a request that completed successfully initially using the same client token and parameters, then the retry attempt will succeed without performing any further action */
    ClientToken?: string;
    /** A description of the over-the-air (OTA) task configuration. */
    Description?: string;
    /** The name of the over-the-air (OTA) task. */
    Name?: string;
    /** Describes the type of configuration used for the over-the-air (OTA) task. */
    PushConfig?: PushConfig;
}
export interface CreateProvisioningProfileInput {
    /** The type of provisioning workflow the device uses for onboarding to IoT managed integrations. */
    ProvisioningType: 'FLEET_PROVISIONING' | 'JITR';
    /** The id of the certificate authority (CA) certificate. */
    CaCertificate?: string;
    /** The claim certificate. */
    ClaimCertificate?: string;
    /** An idempotency token. If you retry a request that completed successfully initially using the same client token and parameters, then the retry attempt will succeed without performing any further action */
    ClientToken?: string;
    /** The name of the provisioning template. */
    Name?: string;
    /** A set of key/value pairs that are used to manage the provisioning profile. */
    Tags?: Record<string, string>;
}
export interface DeleteAccountAssociationInput {
    /** The unique identifier of the account association to be deleted. */
    AccountAssociationId: string;
}
export interface DeleteCloudConnectorInput {
    /** The identifier of the cloud connector. */
    Identifier: string;
}
export interface DeleteConnectorDestinationInput {
    /** The identifier of the connector destination. */
    Identifier: string;
}
export interface DeleteCredentialLockerInput {
    /** The identifier of the credential locker. */
    Identifier: string;
}
export interface DeleteDestinationInput {
    /** The id of the customer-managed destination. */
    Name: string;
}
export interface DeleteEventLogConfigurationInput {
    /** The identifier of the event log configuration. */
    Id: string;
}
export interface DeleteManagedThingInput {
    /** The id of the managed thing. */
    Identifier: string;
    /** When set to TRUE, a forceful deteletion of the managed thing will occur. When set to FALSE, a non-forceful deletion of the managed thing will occur. */
    Force?: boolean;
}
export interface DeleteNotificationConfigurationInput {
    /** The type of event triggering a device notification to the customer-managed destination. */
    EventType: 'DEVICE_COMMAND' | 'DEVICE_COMMAND_REQUEST' | 'DEVICE_DISCOVERY_STATUS' | 'DEVICE_EVENT' | 'DEVICE_LIFE_CYCLE' | 'DEVICE_STATE' | 'DEVICE_OTA' | 'DEVICE_WSS' | 'CONNECTOR_ASSOCIATION' | 'ACCOUNT_ASSOCIATION' | 'CONNECTOR_ERROR_REPORT';
}
export interface DeleteOtaTaskInput {
    /** The identifier of the over-the-air (OTA) task. */
    Identifier: string;
}
export interface DeleteOtaTaskConfigurationInput {
    /** The identifier of the over-the-air (OTA) task configuration. */
    Identifier: string;
}
export interface DeleteProvisioningProfileInput {
    /** The name of the provisioning template. */
    Identifier: string;
}
/** Request for deregister a managed thing from account association */
export interface DeregisterAccountAssociationInput {
    /** The unique identifier of the account association to be deregistered. */
    AccountAssociationId: string;
    /** The identifier of the managed thing to be deregistered from the account association. */
    ManagedThingId: string;
}
export interface GetAccountAssociationInput {
    /** The unique identifier of the account association to retrieve. */
    AccountAssociationId: string;
}
export interface GetCloudConnectorInput {
    /** The identifier of the C2C connector. */
    Identifier: string;
}
export interface GetConnectorDestinationInput {
    /** The identifier of the C2C connector destination. */
    Identifier: string;
}
export interface GetCredentialLockerInput {
    /** The identifier of the credential locker. */
    Identifier: string;
}
export interface GetDestinationInput {
    /** The name of the customer-managed destination. */
    Name: string;
}
export interface GetDeviceDiscoveryInput {
    /** The id of the device discovery job request. */
    Identifier: string;
}
export interface GetEventLogConfigurationInput {
    /** The identifier of the event log configuration. */
    Id: string;
}
export interface GetManagedThingInput {
    /** The id of the managed thing. */
    Identifier: string;
}
export interface GetManagedThingCapabilitiesInput {
    /** The id of the device. */
    Identifier: string;
}
export interface GetManagedThingCertificateInput {
    /** The identifier of the managed thing. */
    Identifier: string;
}
export interface GetManagedThingConnectivityDataInput {
    /** The identifier of a managed thing. */
    Identifier: string;
}
export interface GetManagedThingMetaDataInput {
    /** The managed thing id. */
    Identifier: string;
}
export interface GetManagedThingStateInput {
    /** The id of the device. */
    ManagedThingId: string;
}
export interface GetNotificationConfigurationInput {
    /** The type of event triggering a device notification to the customer-managed destination. */
    EventType: 'DEVICE_COMMAND' | 'DEVICE_COMMAND_REQUEST' | 'DEVICE_DISCOVERY_STATUS' | 'DEVICE_EVENT' | 'DEVICE_LIFE_CYCLE' | 'DEVICE_STATE' | 'DEVICE_OTA' | 'DEVICE_WSS' | 'CONNECTOR_ASSOCIATION' | 'ACCOUNT_ASSOCIATION' | 'CONNECTOR_ERROR_REPORT';
}
export interface GetOtaTaskInput {
    /** The over-the-air (OTA) task id. */
    Identifier: string;
}
export interface GetOtaTaskConfigurationInput {
    /** The over-the-air (OTA) task configuration id. */
    Identifier: string;
}
export interface GetProvisioningProfileInput {
    /** The provisioning template the device uses for the provisioning process. */
    Identifier: string;
}
export interface GetRuntimeLogConfigurationInput {
    /** The id for a managed thing. */
    ManagedThingId: string;
}
export interface GetSchemaVersionInput {
    /** Schema id with a version specified. If the version is missing, it defaults to latest version. */
    SchemaVersionedId: string;
    /** The type of schema version. */
    Type: 'capability' | 'definition';
    /** The format of the schema version. */
    Format?: 'AWS' | 'ZCL' | 'CONNECTOR';
}
export interface ListAccountAssociationsInput {
    /** The identifier of the connector destination to filter account associations by. */
    ConnectorDestinationId?: string;
    /** The maximum number of account associations to return in a single response. */
    MaxResults?: number;
    /** A token used for pagination of results. */
    NextToken?: string;
}
export interface ListCloudConnectorsInput {
    /** The Amazon Resource Name (ARN) of the Lambda function to filter cloud connectors by. */
    LambdaArn?: string;
    /** The maximum number of results to return at one time. */
    MaxResults?: number;
    /** A token that can be used to retrieve the next set of results. */
    NextToken?: string;
    /** The type of cloud connectors to filter by when listing available connectors. */
    Type?: 'LISTED' | 'UNLISTED';
}
export interface ListConnectorDestinationsInput {
    /** The identifier of the cloud connector to filter connector destinations by. */
    CloudConnectorId?: string;
    /** The maximum number of connector destinations to return in a single response. */
    MaxResults?: number;
    /** A token used for pagination of results. */
    NextToken?: string;
}
export interface ListCredentialLockersInput {
    /** The maximum number of results to return at one time. */
    MaxResults?: number;
    /** A token that can be used to retrieve the next set of results. */
    NextToken?: string;
}
export interface ListDestinationsInput {
    /** The maximum number of results to return at one time. */
    MaxResults?: number;
    /** A token that can be used to retrieve the next set of results. */
    NextToken?: string;
}
export interface ListDeviceDiscoveriesInput {
    /** The maximum number of device discovery jobs to return in a single response. */
    MaxResults?: number;
    /** A token used for pagination of results. */
    NextToken?: string;
    /** The status to filter device discovery jobs by. */
    StatusFilter?: 'RUNNING' | 'SUCCEEDED' | 'FAILED' | 'TIMED_OUT';
    /** The discovery type to filter device discovery jobs by. */
    TypeFilter?: 'ZWAVE' | 'ZIGBEE' | 'CLOUD' | 'CUSTOM' | 'CONTROLLER_CAPABILITY_REDISCOVERY';
}
export interface ListDiscoveredDevicesInput {
    /** The identifier of the device discovery job to list discovered devices for. */
    Identifier: string;
    /** The maximum number of discovered devices to return in a single response. */
    MaxResults?: number;
    /** A token used for pagination of results. */
    NextToken?: string;
}
export interface ListEventLogConfigurationsInput {
    /** The maximum number of results to return at one time. */
    MaxResults?: number;
    /** A token that can be used to retrieve the next set of results. */
    NextToken?: string;
}
export interface ListManagedThingAccountAssociationsInput {
    /** The identifier of the account association to filter results by. When specified, only associations with this account association ID will be returned. */
    AccountAssociationId?: string;
    /** The identifier of the managed thing to list account associations for. */
    ManagedThingId?: string;
    /** The maximum number of account associations to return in a single response. */
    MaxResults?: number;
    /** A token used for pagination of results. */
    NextToken?: string;
}
export interface ListManagedThingsInput {
    /** Filter managed things by the connector destination ID they are associated with. */
    ConnectorDestinationIdFilter?: string;
    /** Filter managed things by the connector device ID they are associated with. When specified, only managed things with this connector device ID will be returned. */
    ConnectorDeviceIdFilter?: string;
    /** Filter on a connector policy id for a managed thing. */
    ConnectorPolicyIdFilter?: string;
    /** Filter on a credential locker for a managed thing. */
    CredentialLockerFilter?: string;
    /** The maximum number of results to return at one time. */
    MaxResults?: number;
    /** A token that can be used to retrieve the next set of results. */
    NextToken?: string;
    /** Filter on device owners when listing managed things. */
    OwnerFilter?: string;
    /** Filter on a parent controller id for a managed thing. */
    ParentControllerIdentifierFilter?: string;
    /** Filter on the status of the device. For more information, see Device Provisioning. */
    ProvisioningStatusFilter?: 'UNASSOCIATED' | 'PRE_ASSOCIATED' | 'DISCOVERED' | 'ACTIVATED' | 'DELETION_FAILED' | 'DELETE_IN_PROGRESS' | 'ISOLATED' | 'DELETED';
    /** Filter on the type of device used. This will be the Amazon Web Services hub controller, cloud device, or IoT device. */
    RoleFilter?: 'CONTROLLER' | 'DEVICE';
    /** Filter on the serial number of the device. */
    SerialNumberFilter?: string;
}
export interface ListManagedThingSchemasInput {
    /** The managed thing id. */
    Identifier: string;
    /** Filter on a capability id. */
    CapabilityIdFilter?: string;
    /** Filter on an endpoint id. */
    EndpointIdFilter?: string;
    /** The maximum number of results to return at one time. */
    MaxResults?: number;
    /** A token that can be used to retrieve the next set of results. */
    NextToken?: string;
}
export interface ListNotificationConfigurationsInput {
    /** The maximum number of results to return at one time. */
    MaxResults?: number;
    /** A token that can be used to retrieve the next set of results. */
    NextToken?: string;
}
export interface ListOtaTaskConfigurationsInput {
    /** The maximum number of results to return at one time. */
    MaxResults?: number;
    /** A token that can be used to retrieve the next set of results. */
    NextToken?: string;
}
export interface ListOtaTaskExecutionsInput {
    /** The over-the-air (OTA) task id. */
    Identifier: string;
    /** The maximum number of results to return at one time. */
    MaxResults?: number;
    /** A token that can be used to retrieve the next set of results. */
    NextToken?: string;
}
export interface ListOtaTasksInput {
    /** The maximum number of results to return at one time. */
    MaxResults?: number;
    /** A token that can be used to retrieve the next set of results. */
    NextToken?: string;
}
export interface ListProvisioningProfilesInput {
    /** The maximum number of results to return at one time. */
    MaxResults?: number;
    /** A token that can be used to retrieve the next set of results. */
    NextToken?: string;
}
export interface ListSchemaVersionsInput {
    /** Filter on the type of schema version. */
    Type: 'capability' | 'definition';
    /** The maximum number of results to return at one time. */
    MaxResults?: number;
    /** Filter on the name of the schema version. */
    Namespace?: string;
    /** A token that can be used to retrieve the next set of results. */
    NextToken?: string;
    /** Filter on the id of the schema version. */
    SchemaId?: string;
    /** The schema version. If this is left blank, it defaults to the latest version. */
    SemanticVersion?: string;
    /** The visibility of the schema version. */
    Visibility?: 'PUBLIC' | 'PRIVATE';
}
export interface ListTagsForResourceInput {
    /** The Amazon Resource Name (ARN) of the resource for which to list tags. */
    ResourceArn: string;
}
export interface PutDefaultEncryptionConfigurationInput {
    /** The type of encryption used for the encryption configuration. */
    encryptionType: 'MANAGED_INTEGRATIONS_DEFAULT_ENCRYPTION' | 'CUSTOMER_KEY_ENCRYPTION';
    /** The Key Amazon Resource Name (ARN) of the AWS KMS key used for KMS encryption if you use KMS_BASED_ENCRYPTION. */
    kmsKeyArn?: string;
}
export interface PutHubConfigurationInput {
    /** A user-defined integer value that represents the hub token timer expiry setting in seconds. */
    HubTokenTimerExpirySettingInSeconds: number;
}
export interface PutRuntimeLogConfigurationInput {
    /** The id for a managed thing. */
    ManagedThingId: string;
    /** The runtime log configuration for a managed thing. */
    RuntimeLogConfigurations: RuntimeLogConfigurations;
}
export interface RegisterAccountAssociationInput {
    /** The identifier of the account association to register with the managed thing. */
    AccountAssociationId: string;
    /** The identifier of the device discovery job associated with this registration. */
    DeviceDiscoveryId: string;
    /** The identifier of the managed thing to register with the account association. */
    ManagedThingId: string;
}
export interface ResetRuntimeLogConfigurationInput {
    /** The id of a managed thing. */
    ManagedThingId: string;
}
export interface SendConnectorEventInput {
    /** The id of the connector between the third-party cloud provider and IoT managed integrations. */
    ConnectorId: string;
    /** The Open Connectivity Foundation (OCF) operation requested to be performed on the managed thing. The field op can have a value of "I" or "U". The field "cn" will contain the capability types. */
    Operation: 'DEVICE_COMMAND_RESPONSE' | 'DEVICE_DISCOVERY' | 'DEVICE_EVENT' | 'DEVICE_COMMAND_REQUEST';
    /** The third-party device id as defined by the connector. This device id must not contain personal identifiable information (PII). This parameter is used for cloud-to-cloud devices only. */
    ConnectorDeviceId?: string;
    /** The id for the device discovery job. */
    DeviceDiscoveryId?: string;
    /** The list of devices. */
    Devices?: Device[];
    /** The device endpoint. */
    MatterEndpoint?: MatterEndpoint;
    /** The device state change event payload. This parameter will include the following three fields: uri: schema auc://&lt;PARTNER-DEVICE-ID&gt;/ResourcePath (The Resourcepath corresponds to an OCF resource */
    Message?: string;
    /** The Open Connectivity Foundation (OCF) security specification version for the operation being requested on the managed thing. For more information, see OCF Security Specification. */
    OperationVersion?: string;
    /** The status code of the Open Connectivity Foundation (OCF) operation being performed on the managed thing. */
    StatusCode?: number;
    /** The trace request identifier. This is generated by IoT managed integrations and can be used to trace this command and its related operations in CloudWatch. */
    TraceId?: string;
    /** The id of the third-party cloud provider. */
    UserId?: string;
}
export interface SendManagedThingCommandInput {
    /** The device endpoint. */
    Endpoints: CommandEndpoint[];
    /** The id of the device. */
    ManagedThingId: string;
    /** The identifier of the account association to use when sending a command to a managed thing. */
    AccountAssociationId?: string;
    /** The ID tracking the current discovery process for one connector association. */
    ConnectorAssociationId?: string;
}
export interface StartAccountAssociationRefreshInput {
    /** The unique identifier of the account association to refresh. */
    AccountAssociationId: string;
}
export interface StartDeviceDiscoveryInput {
    /** The discovery type supporting the type of device to be discovered in the device discovery task request. */
    DiscoveryType: 'ZWAVE' | 'ZIGBEE' | 'CLOUD' | 'CUSTOM' | 'CONTROLLER_CAPABILITY_REDISCOVERY';
    /** The identifier of the cloud-to-cloud account association to use for discovery of third-party devices. */
    AccountAssociationId?: string;
    /** The authentication material required to start the local device discovery job request. */
    AuthenticationMaterial?: string;
    /** The type of authentication material used for device discovery jobs. */
    AuthenticationMaterialType?: 'ZWAVE_INSTALL_CODE';
    /** An idempotency token. If you retry a request that completed successfully initially using the same client token and parameters, then the retry attempt will succeed without performing any further action */
    ClientToken?: string;
    /** The id of the connector association. */
    ConnectorAssociationIdentifier?: string;
    /** Used as a filter for PLA discoveries. */
    ConnectorDeviceIdList?: string[];
    /** The id of the end-user's IoT hub. */
    ControllerIdentifier?: string;
    /** Additional protocol-specific details required for device discovery, which vary based on the discovery type. For a DiscoveryType of CUSTOM, the string-to-string map must have a key value of Name set to */
    CustomProtocolDetail?: Record<string, string>;
    /** The unique id of the end device for capability rediscovery. This parameter is only available when the discovery type is CONTROLLER_CAPABILITY_REDISCOVERY. */
    EndDeviceIdentifier?: string;
    /** The protocol type for capability rediscovery (ZWAVE, ZIGBEE, or CUSTOM). This parameter is only available when the discovery type is CONTROLLER_CAPABILITY_REDISCOVERY. */
    Protocol?: 'ZWAVE' | 'ZIGBEE' | 'CUSTOM';
    /** A set of key/value pairs that are used to manage the device discovery request. */
    Tags?: Record<string, string>;
}
export interface TagResourceInput {
    /** The Amazon Resource Name (ARN) of the resource to which to add tags. */
    ResourceArn: string;
    /** A set of key/value pairs that are used to manage the resource. */
    Tags: Record<string, string>;
}
export interface UntagResourceInput {
    /** The Amazon Resource Name (ARN) of the resource from which to remove tags. */
    ResourceArn: string;
    /** A list of tag keys to remove from the resource. */
    TagKeys: string[];
}
export interface UpdateAccountAssociationInput {
    /** The unique identifier of the account association to update. */
    AccountAssociationId: string;
    /** The new description to assign to the account association. */
    Description?: string;
    /** The new name to assign to the account association. */
    Name?: string;
}
export interface UpdateCloudConnectorInput {
    /** The unique identifier of the cloud connector to update. */
    Identifier: string;
    /** The new description to assign to the cloud connector. */
    Description?: string;
    /** The new display name to assign to the cloud connector. */
    Name?: string;
}
export interface UpdateConnectorDestinationInput {
    /** The unique identifier of the connector destination to update. */
    Identifier: string;
    /** The updated authentication configuration details for the connector destination. */
    AuthConfig?: AuthConfigUpdate;
    /** The new authentication type to use for the connector destination. */
    AuthType?: 'OAUTH';
    /** The new description to assign to the connector destination. */
    Description?: string;
    /** The new display name to assign to the connector destination. */
    Name?: string;
    /** The updated AWS Secrets Manager configuration for the connector destination. */
    SecretsManager?: SecretsManager;
}
export interface UpdateDestinationInput {
    /** The name of the customer-managed destination. */
    Name: string;
    /** The Amazon Resource Name (ARN) of the customer-managed destination. */
    DeliveryDestinationArn?: string;
    /** The destination type for the customer-managed destination. */
    DeliveryDestinationType?: 'KINESIS';
    /** The description of the customer-managed destination. */
    Description?: string;
    /** The Amazon Resource Name (ARN) of the delivery destination role. */
    RoleArn?: string;
}
export interface UpdateEventLogConfigurationInput {
    /** The log level for the event in terms of severity. */
    EventLogLevel: 'DEBUG' | 'ERROR' | 'INFO' | 'WARN';
    /** The log configuration id. */
    Id: string;
}
export interface UpdateManagedThingInput {
    /** The id of the managed thing. */
    Identifier: string;
    /** The brand of the device. */
    Brand?: string;
    /** The capabilities of the device such as light bulb. */
    Capabilities?: string;
    /** A report of the capabilities for the managed thing. */
    CapabilityReport?: CapabilityReport;
    /** The updated capability schemas that define the functionality and features supported by the managed thing. */
    CapabilitySchemas?: CapabilitySchemaItem[];
    /** The classification of the managed thing such as light bulb or thermostat. */
    Classification?: string;
    /** The identifier of the credential for the managed thing. */
    CredentialLockerId?: string;
    /** The network mode for the hub-connected device. */
    HubNetworkMode?: 'STANDARD' | 'NETWORK_WIDE_EXCLUSION';
    /** The metadata for the managed thing. */
    MetaData?: Record<string, string>;
    /** The model of the device. */
    Model?: string;
    /** The name of the managed thing representing the physical device. */
    Name?: string;
    /** Owner of the device, usually an indication of whom the device belongs to. This value should not contain personal identifiable information. */
    Owner?: string;
    /** The serial number of the device. */
    SerialNumber?: string;
    /** The Wi-Fi Simple Setup configuration for the managed thing, which defines provisioning capabilities and timeout settings. */
    WiFiSimpleSetupConfiguration?: WiFiSimpleSetupConfiguration;
}
export interface UpdateNotificationConfigurationInput {
    /** The name of the destination for the notification configuration. */
    DestinationName: string;
    /** The type of event triggering a device notification to the customer-managed destination. */
    EventType: 'DEVICE_COMMAND' | 'DEVICE_COMMAND_REQUEST' | 'DEVICE_DISCOVERY_STATUS' | 'DEVICE_EVENT' | 'DEVICE_LIFE_CYCLE' | 'DEVICE_STATE' | 'DEVICE_OTA' | 'DEVICE_WSS' | 'CONNECTOR_ASSOCIATION' | 'ACCOUNT_ASSOCIATION' | 'CONNECTOR_ERROR_REPORT';
}
export interface UpdateOtaTaskInput {
    /** The over-the-air (OTA) task id. */
    Identifier: string;
    /** The description of the over-the-air (OTA) task. */
    Description?: string;
    /** The identifier for the over-the-air (OTA) task configuration. */
    TaskConfigurationId?: string;
}
/** IoT Managed Integrations service binding for Step Functions SDK integrations. */
export declare class IoTManagedIntegrations {
    constructor();
    createAccountAssociation<T>(params: CreateAccountAssociationInput): Promise<T>;
    createCloudConnector<T>(params: CreateCloudConnectorInput): Promise<T>;
    createConnectorDestination<T>(params: CreateConnectorDestinationInput): Promise<T>;
    createCredentialLocker<T>(params: CreateCredentialLockerInput): Promise<T>;
    createDestination<T>(params: CreateDestinationInput): Promise<T>;
    createEventLogConfiguration<T>(params: CreateEventLogConfigurationInput): Promise<T>;
    createManagedThing<T>(params: CreateManagedThingInput): Promise<T>;
    createNotificationConfiguration<T>(params: CreateNotificationConfigurationInput): Promise<T>;
    createOtaTask<T>(params: CreateOtaTaskInput): Promise<T>;
    createOtaTaskConfiguration<T>(params: CreateOtaTaskConfigurationInput): Promise<T>;
    createProvisioningProfile<T>(params: CreateProvisioningProfileInput): Promise<T>;
    deleteAccountAssociation<T>(params: DeleteAccountAssociationInput): Promise<T>;
    deleteCloudConnector<T>(params: DeleteCloudConnectorInput): Promise<T>;
    deleteConnectorDestination<T>(params: DeleteConnectorDestinationInput): Promise<T>;
    deleteCredentialLocker<T>(params: DeleteCredentialLockerInput): Promise<T>;
    deleteDestination<T>(params: DeleteDestinationInput): Promise<T>;
    deleteEventLogConfiguration<T>(params: DeleteEventLogConfigurationInput): Promise<T>;
    deleteManagedThing<T>(params: DeleteManagedThingInput): Promise<T>;
    deleteNotificationConfiguration<T>(params: DeleteNotificationConfigurationInput): Promise<T>;
    deleteOtaTask<T>(params: DeleteOtaTaskInput): Promise<T>;
    deleteOtaTaskConfiguration<T>(params: DeleteOtaTaskConfigurationInput): Promise<T>;
    deleteProvisioningProfile<T>(params: DeleteProvisioningProfileInput): Promise<T>;
    deregisterAccountAssociation<T>(params: DeregisterAccountAssociationInput): Promise<T>;
    getAccountAssociation<T>(params: GetAccountAssociationInput): Promise<T>;
    getCloudConnector<T>(params: GetCloudConnectorInput): Promise<T>;
    getConnectorDestination<T>(params: GetConnectorDestinationInput): Promise<T>;
    getCredentialLocker<T>(params: GetCredentialLockerInput): Promise<T>;
    getCustomEndpoint<T>(params: Record<string, any>): Promise<T>;
    getDefaultEncryptionConfiguration<T>(params: Record<string, any>): Promise<T>;
    getDestination<T>(params: GetDestinationInput): Promise<T>;
    getDeviceDiscovery<T>(params: GetDeviceDiscoveryInput): Promise<T>;
    getEventLogConfiguration<T>(params: GetEventLogConfigurationInput): Promise<T>;
    getHubConfiguration<T>(params: Record<string, any>): Promise<T>;
    getManagedThing<T>(params: GetManagedThingInput): Promise<T>;
    getManagedThingCapabilities<T>(params: GetManagedThingCapabilitiesInput): Promise<T>;
    getManagedThingCertificate<T>(params: GetManagedThingCertificateInput): Promise<T>;
    getManagedThingConnectivityData<T>(params: GetManagedThingConnectivityDataInput): Promise<T>;
    getManagedThingMetaData<T>(params: GetManagedThingMetaDataInput): Promise<T>;
    getManagedThingState<T>(params: GetManagedThingStateInput): Promise<T>;
    getNotificationConfiguration<T>(params: GetNotificationConfigurationInput): Promise<T>;
    getOtaTask<T>(params: GetOtaTaskInput): Promise<T>;
    getOtaTaskConfiguration<T>(params: GetOtaTaskConfigurationInput): Promise<T>;
    getProvisioningProfile<T>(params: GetProvisioningProfileInput): Promise<T>;
    getRuntimeLogConfiguration<T>(params: GetRuntimeLogConfigurationInput): Promise<T>;
    getSchemaVersion<T>(params: GetSchemaVersionInput): Promise<T>;
    listAccountAssociations<T>(params: ListAccountAssociationsInput): Promise<T>;
    listCloudConnectors<T>(params: ListCloudConnectorsInput): Promise<T>;
    listConnectorDestinations<T>(params: ListConnectorDestinationsInput): Promise<T>;
    listCredentialLockers<T>(params: ListCredentialLockersInput): Promise<T>;
    listDestinations<T>(params: ListDestinationsInput): Promise<T>;
    listDeviceDiscoveries<T>(params: ListDeviceDiscoveriesInput): Promise<T>;
    listDiscoveredDevices<T>(params: ListDiscoveredDevicesInput): Promise<T>;
    listEventLogConfigurations<T>(params: ListEventLogConfigurationsInput): Promise<T>;
    listManagedThingAccountAssociations<T>(params: ListManagedThingAccountAssociationsInput): Promise<T>;
    listManagedThings<T>(params: ListManagedThingsInput): Promise<T>;
    listManagedThingSchemas<T>(params: ListManagedThingSchemasInput): Promise<T>;
    listNotificationConfigurations<T>(params: ListNotificationConfigurationsInput): Promise<T>;
    listOtaTaskConfigurations<T>(params: ListOtaTaskConfigurationsInput): Promise<T>;
    listOtaTaskExecutions<T>(params: ListOtaTaskExecutionsInput): Promise<T>;
    listOtaTasks<T>(params: ListOtaTasksInput): Promise<T>;
    listProvisioningProfiles<T>(params: ListProvisioningProfilesInput): Promise<T>;
    listSchemaVersions<T>(params: ListSchemaVersionsInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    putDefaultEncryptionConfiguration<T>(params: PutDefaultEncryptionConfigurationInput): Promise<T>;
    putHubConfiguration<T>(params: PutHubConfigurationInput): Promise<T>;
    putRuntimeLogConfiguration<T>(params: PutRuntimeLogConfigurationInput): Promise<T>;
    registerAccountAssociation<T>(params: RegisterAccountAssociationInput): Promise<T>;
    registerCustomEndpoint<T>(params: Record<string, any>): Promise<T>;
    resetRuntimeLogConfiguration<T>(params: ResetRuntimeLogConfigurationInput): Promise<T>;
    sendConnectorEvent<T>(params: SendConnectorEventInput): Promise<T>;
    sendManagedThingCommand<T>(params: SendManagedThingCommandInput): Promise<T>;
    startAccountAssociationRefresh<T>(params: StartAccountAssociationRefreshInput): Promise<T>;
    startDeviceDiscovery<T>(params: StartDeviceDiscoveryInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateAccountAssociation<T>(params: UpdateAccountAssociationInput): Promise<T>;
    updateCloudConnector<T>(params: UpdateCloudConnectorInput): Promise<T>;
    updateConnectorDestination<T>(params: UpdateConnectorDestinationInput): Promise<T>;
    updateDestination<T>(params: UpdateDestinationInput): Promise<T>;
    updateEventLogConfiguration<T>(params: UpdateEventLogConfigurationInput): Promise<T>;
    updateManagedThing<T>(params: UpdateManagedThingInput): Promise<T>;
    updateNotificationConfiguration<T>(params: UpdateNotificationConfigurationInput): Promise<T>;
    updateOtaTask<T>(params: UpdateOtaTaskInput): Promise<T>;
}
//# sourceMappingURL=IoTManagedIntegrations.d.ts.map