export interface ConnectorDefinitionVersion {
    /** A list of references to connectors in this version, with their corresponding configuration settings. */
    Connectors?: any[];
}
export interface Connector {
    /** The ARN of the connector. */
    ConnectorArn: string;
    /** A descriptive or arbitrary ID for the connector. This value must be unique within the connector definition version. Max length is 128 characters with pattern [a-zA-Z0-9:_-]+. */
    Id: string;
    /** The parameters or configuration that the connector uses. */
    Parameters?: Record<string, any>;
}
export interface CoreDefinitionVersion {
    /** A list of cores in the core definition version. */
    Cores?: any[];
}
export interface Core {
    /** The ARN of the certificate associated with the core. */
    CertificateArn: string;
    /** A descriptive or arbitrary ID for the core. This value must be unique within the core definition version. Max length is 128 characters with pattern ''[a-zA-Z0-9:_-]+''. */
    Id: string;
    /** If true, the core's local shadow is automatically synced with the cloud. */
    SyncShadow?: boolean;
    /** The ARN of the thing which is the core. */
    ThingArn: string;
}
export interface DeviceDefinitionVersion {
    /** A list of devices in the definition version. */
    Devices?: any[];
}
export interface Device {
    /** The ARN of the certificate associated with the device. */
    CertificateArn: string;
    /** A descriptive or arbitrary ID for the device. This value must be unique within the device definition version. Max length is 128 characters with pattern ''[a-zA-Z0-9:_-]+''. */
    Id: string;
    /** If true, the device's local shadow will be automatically synced with the cloud. */
    SyncShadow?: boolean;
    /** The thing ARN of the device. */
    ThingArn: string;
}
export interface FunctionDefaultConfig {
    Execution?: any;
}
export interface FunctionDefinitionVersion {
    /** The default configuration that applies to all Lambda functions in this function definition version. Individual Lambda functions can override these settings. */
    DefaultConfig?: FunctionDefaultConfig;
    /** A list of Lambda functions in this function definition version. */
    Functions?: any[];
}
export interface GroupVersion {
    /** The ARN of the connector definition version for this group. */
    ConnectorDefinitionVersionArn?: string;
    /** The ARN of the core definition version for this group. */
    CoreDefinitionVersionArn?: string;
    /** The ARN of the device definition version for this group. */
    DeviceDefinitionVersionArn?: string;
    /** The ARN of the function definition version for this group. */
    FunctionDefinitionVersionArn?: string;
    /** The ARN of the logger definition version for this group. */
    LoggerDefinitionVersionArn?: string;
    /** The ARN of the resource definition version for this group. */
    ResourceDefinitionVersionArn?: string;
    /** The ARN of the subscription definition version for this group. */
    SubscriptionDefinitionVersionArn?: string;
}
export interface LoggerDefinitionVersion {
    /** A list of loggers. */
    Loggers?: any[];
}
export interface Logger {
    /** The component that will be subject to logging. */
    Component: 'GreengrassSystem' | 'Lambda';
    /** A descriptive or arbitrary ID for the logger. This value must be unique within the logger definition version. Max length is 128 characters with pattern ''[a-zA-Z0-9:_-]+''. */
    Id: string;
    /** The level of the logs. */
    Level: 'DEBUG' | 'INFO' | 'WARN' | 'ERROR' | 'FATAL';
    /** The amount of file space, in KB, to use if the local file system is used for logging purposes. */
    Space?: number;
    /** The type of log output which will be used. */
    Type: 'FileSystem' | 'AWSCloudWatch';
}
export interface ResourceDefinitionVersion {
    /** A list of resources. */
    Resources?: any[];
}
export interface Resource {
    /** The resource ID, used to refer to a resource in the Lambda function configuration. Max length is 128 characters with pattern ''[a-zA-Z0-9:_-]+''. This must be unique within a Greengrass group. */
    Id: string;
    /** The descriptive resource name, which is displayed on the AWS IoT Greengrass console. Max length 128 characters with pattern ''[a-zA-Z0-9:_-]+''. This must be unique within a Greengrass group. */
    Name: string;
    /** A container of data for all resource types. */
    ResourceDataContainer: any;
}
export interface SubscriptionDefinitionVersion {
    /** A list of subscriptions. */
    Subscriptions?: any[];
}
export interface Subscription {
    /** A descriptive or arbitrary ID for the subscription. This value must be unique within the subscription definition version. Max length is 128 characters with pattern ''[a-zA-Z0-9:_-]+''. */
    Id: string;
    /** The source of the subscription. Can be a thing ARN, a Lambda function ARN, a connector ARN, 'cloud' (which represents the AWS IoT cloud), or 'GGShadowService'. */
    Source: string;
    /** The MQTT topic used to route the message. */
    Subject: string;
    /** Where the message is sent to. Can be a thing ARN, a Lambda function ARN, a connector ARN, 'cloud' (which represents the AWS IoT cloud), or 'GGShadowService'. */
    Target: string;
}
export interface ConnectivityInfo {
    /** The endpoint for the Greengrass core. Can be an IP address or DNS. */
    HostAddress?: string;
    /** The ID of the connectivity information. */
    Id?: string;
    /** Metadata for this endpoint. */
    Metadata?: string;
    /** The port of the Greengrass core. Usually 8883. */
    PortNumber?: number;
}
export interface TelemetryConfigurationUpdate {
    /** Configure telemetry to be on or off. */
    Telemetry: 'On' | 'Off';
}
export interface AssociateRoleToGroupInput {
    /** The ID of the Greengrass group. */
    GroupId: string;
    /** The ARN of the role you wish to associate with this group. The existence of the role is not validated. */
    RoleArn: string;
}
export interface AssociateServiceRoleToAccountInput {
    /** The ARN of the service role you wish to associate with your account. */
    RoleArn: string;
}
export interface CreateConnectorDefinitionInput {
    /** A client token used to correlate requests and responses. */
    AmznClientToken?: string;
    /** Information about the initial version of the connector definition. */
    InitialVersion?: ConnectorDefinitionVersion;
    /** The name of the connector definition. */
    Name?: string;
    /** Tag(s) to add to the new resource. */
    tags?: Record<string, string>;
}
export interface CreateConnectorDefinitionVersionInput {
    /** The ID of the connector definition. */
    ConnectorDefinitionId: string;
    /** A client token used to correlate requests and responses. */
    AmznClientToken?: string;
    /** A list of references to connectors in this version, with their corresponding configuration settings. */
    Connectors?: Connector[];
}
/** Information needed to create a core definition. */
export interface CreateCoreDefinitionInput {
    /** A client token used to correlate requests and responses. */
    AmznClientToken?: string;
    /** Information about the initial version of the core definition. */
    InitialVersion?: CoreDefinitionVersion;
    /** The name of the core definition. */
    Name?: string;
    /** Tag(s) to add to the new resource. */
    tags?: Record<string, string>;
}
export interface CreateCoreDefinitionVersionInput {
    /** The ID of the core definition. */
    CoreDefinitionId: string;
    /** A client token used to correlate requests and responses. */
    AmznClientToken?: string;
    /** A list of cores in the core definition version. */
    Cores?: Core[];
}
export interface CreateDeploymentInput {
    /** The type of deployment. When used for ''CreateDeployment'', only ''NewDeployment'' and ''Redeployment'' are valid. */
    DeploymentType: 'NewDeployment' | 'Redeployment' | 'ResetDeployment' | 'ForceResetDeployment';
    /** The ID of the Greengrass group. */
    GroupId: string;
    /** A client token used to correlate requests and responses. */
    AmznClientToken?: string;
    /** The ID of the deployment if you wish to redeploy a previous deployment. */
    DeploymentId?: string;
    /** The ID of the group version to be deployed. */
    GroupVersionId?: string;
}
export interface CreateDeviceDefinitionInput {
    /** A client token used to correlate requests and responses. */
    AmznClientToken?: string;
    /** Information about the initial version of the device definition. */
    InitialVersion?: DeviceDefinitionVersion;
    /** The name of the device definition. */
    Name?: string;
    /** Tag(s) to add to the new resource. */
    tags?: Record<string, string>;
}
export interface CreateDeviceDefinitionVersionInput {
    /** The ID of the device definition. */
    DeviceDefinitionId: string;
    /** A client token used to correlate requests and responses. */
    AmznClientToken?: string;
    /** A list of devices in the definition version. */
    Devices?: Device[];
}
export interface CreateFunctionDefinitionInput {
    /** A client token used to correlate requests and responses. */
    AmznClientToken?: string;
    /** Information about the initial version of the function definition. */
    InitialVersion?: FunctionDefinitionVersion;
    /** The name of the function definition. */
    Name?: string;
    /** Tag(s) to add to the new resource. */
    tags?: Record<string, string>;
}
/** Information needed to create a function definition version. */
export interface CreateFunctionDefinitionVersionInput {
    /** The ID of the Lambda function definition. */
    FunctionDefinitionId: string;
    /** A client token used to correlate requests and responses. */
    AmznClientToken?: string;
    /** The default configuration that applies to all Lambda functions in this function definition version. Individual Lambda functions can override these settings. */
    DefaultConfig?: FunctionDefaultConfig;
    /** A list of Lambda functions in this function definition version. */
    Functions?: any[];
}
export interface CreateGroupInput {
    /** The name of the group. */
    Name: string;
    /** A client token used to correlate requests and responses. */
    AmznClientToken?: string;
    /** Information about the initial version of the group. */
    InitialVersion?: GroupVersion;
    /** Tag(s) to add to the new resource. */
    tags?: Record<string, string>;
}
export interface CreateGroupCertificateAuthorityInput {
    /** The ID of the Greengrass group. */
    GroupId: string;
    /** A client token used to correlate requests and responses. */
    AmznClientToken?: string;
}
export interface CreateGroupVersionInput {
    /** The ID of the Greengrass group. */
    GroupId: string;
    /** A client token used to correlate requests and responses. */
    AmznClientToken?: string;
    /** The ARN of the connector definition version for this group. */
    ConnectorDefinitionVersionArn?: string;
    /** The ARN of the core definition version for this group. */
    CoreDefinitionVersionArn?: string;
    /** The ARN of the device definition version for this group. */
    DeviceDefinitionVersionArn?: string;
    /** The ARN of the function definition version for this group. */
    FunctionDefinitionVersionArn?: string;
    /** The ARN of the logger definition version for this group. */
    LoggerDefinitionVersionArn?: string;
    /** The ARN of the resource definition version for this group. */
    ResourceDefinitionVersionArn?: string;
    /** The ARN of the subscription definition version for this group. */
    SubscriptionDefinitionVersionArn?: string;
}
export interface CreateLoggerDefinitionInput {
    /** A client token used to correlate requests and responses. */
    AmznClientToken?: string;
    /** Information about the initial version of the logger definition. */
    InitialVersion?: LoggerDefinitionVersion;
    /** The name of the logger definition. */
    Name?: string;
    /** Tag(s) to add to the new resource. */
    tags?: Record<string, string>;
}
export interface CreateLoggerDefinitionVersionInput {
    /** The ID of the logger definition. */
    LoggerDefinitionId: string;
    /** A client token used to correlate requests and responses. */
    AmznClientToken?: string;
    /** A list of loggers. */
    Loggers?: Logger[];
}
export interface CreateResourceDefinitionInput {
    /** A client token used to correlate requests and responses. */
    AmznClientToken?: string;
    /** Information about the initial version of the resource definition. */
    InitialVersion?: ResourceDefinitionVersion;
    /** The name of the resource definition. */
    Name?: string;
    /** Tag(s) to add to the new resource. */
    tags?: Record<string, string>;
}
export interface CreateResourceDefinitionVersionInput {
    /** The ID of the resource definition. */
    ResourceDefinitionId: string;
    /** A client token used to correlate requests and responses. */
    AmznClientToken?: string;
    /** A list of resources. */
    Resources?: Resource[];
}
export interface CreateSoftwareUpdateJobInput {
    S3UrlSignerRole: string;
    SoftwareToUpdate: 'core' | 'ota_agent';
    UpdateTargets: string[];
    UpdateTargetsArchitecture: 'armv6l' | 'armv7l' | 'x86_64' | 'aarch64';
    UpdateTargetsOperatingSystem: 'ubuntu' | 'raspbian' | 'amazon_linux' | 'openwrt';
    /** A client token used to correlate requests and responses. */
    AmznClientToken?: string;
    UpdateAgentLogLevel?: 'NONE' | 'TRACE' | 'DEBUG' | 'VERBOSE' | 'INFO' | 'WARN' | 'ERROR' | 'FATAL';
}
export interface CreateSubscriptionDefinitionInput {
    /** A client token used to correlate requests and responses. */
    AmznClientToken?: string;
    /** Information about the initial version of the subscription definition. */
    InitialVersion?: SubscriptionDefinitionVersion;
    /** The name of the subscription definition. */
    Name?: string;
    /** Tag(s) to add to the new resource. */
    tags?: Record<string, string>;
}
export interface CreateSubscriptionDefinitionVersionInput {
    /** The ID of the subscription definition. */
    SubscriptionDefinitionId: string;
    /** A client token used to correlate requests and responses. */
    AmznClientToken?: string;
    /** A list of subscriptions. */
    Subscriptions?: Subscription[];
}
export interface DeleteConnectorDefinitionInput {
    /** The ID of the connector definition. */
    ConnectorDefinitionId: string;
}
export interface DeleteCoreDefinitionInput {
    /** The ID of the core definition. */
    CoreDefinitionId: string;
}
export interface DeleteDeviceDefinitionInput {
    /** The ID of the device definition. */
    DeviceDefinitionId: string;
}
export interface DeleteFunctionDefinitionInput {
    /** The ID of the Lambda function definition. */
    FunctionDefinitionId: string;
}
export interface DeleteGroupInput {
    /** The ID of the Greengrass group. */
    GroupId: string;
}
export interface DeleteLoggerDefinitionInput {
    /** The ID of the logger definition. */
    LoggerDefinitionId: string;
}
export interface DeleteResourceDefinitionInput {
    /** The ID of the resource definition. */
    ResourceDefinitionId: string;
}
export interface DeleteSubscriptionDefinitionInput {
    /** The ID of the subscription definition. */
    SubscriptionDefinitionId: string;
}
export interface DisassociateRoleFromGroupInput {
    /** The ID of the Greengrass group. */
    GroupId: string;
}
export interface GetAssociatedRoleInput {
    /** The ID of the Greengrass group. */
    GroupId: string;
}
export interface GetBulkDeploymentStatusInput {
    /** The ID of the bulk deployment. */
    BulkDeploymentId: string;
}
export interface GetConnectivityInfoInput {
    /** The thing name. */
    ThingName: string;
}
export interface GetConnectorDefinitionInput {
    /** The ID of the connector definition. */
    ConnectorDefinitionId: string;
}
export interface GetConnectorDefinitionVersionInput {
    /** The ID of the connector definition. */
    ConnectorDefinitionId: string;
    /** The ID of the connector definition version. This value maps to the ''Version'' property of the corresponding ''VersionInformation'' object, which is returned by ''ListConnectorDefinitionVersions'' req */
    ConnectorDefinitionVersionId: string;
    /** The token for the next set of results, or ''null'' if there are no additional results. */
    NextToken?: string;
}
export interface GetCoreDefinitionInput {
    /** The ID of the core definition. */
    CoreDefinitionId: string;
}
export interface GetCoreDefinitionVersionInput {
    /** The ID of the core definition. */
    CoreDefinitionId: string;
    /** The ID of the core definition version. This value maps to the ''Version'' property of the corresponding ''VersionInformation'' object, which is returned by ''ListCoreDefinitionVersions'' requests. If  */
    CoreDefinitionVersionId: string;
}
export interface GetDeploymentStatusInput {
    /** The ID of the deployment. */
    DeploymentId: string;
    /** The ID of the Greengrass group. */
    GroupId: string;
}
export interface GetDeviceDefinitionInput {
    /** The ID of the device definition. */
    DeviceDefinitionId: string;
}
export interface GetDeviceDefinitionVersionInput {
    /** The ID of the device definition. */
    DeviceDefinitionId: string;
    /** The ID of the device definition version. This value maps to the ''Version'' property of the corresponding ''VersionInformation'' object, which is returned by ''ListDeviceDefinitionVersions'' requests. */
    DeviceDefinitionVersionId: string;
    /** The token for the next set of results, or ''null'' if there are no additional results. */
    NextToken?: string;
}
export interface GetFunctionDefinitionInput {
    /** The ID of the Lambda function definition. */
    FunctionDefinitionId: string;
}
export interface GetFunctionDefinitionVersionInput {
    /** The ID of the Lambda function definition. */
    FunctionDefinitionId: string;
    /** The ID of the function definition version. This value maps to the ''Version'' property of the corresponding ''VersionInformation'' object, which is returned by ''ListFunctionDefinitionVersions'' reque */
    FunctionDefinitionVersionId: string;
    /** The token for the next set of results, or ''null'' if there are no additional results. */
    NextToken?: string;
}
export interface GetGroupInput {
    /** The ID of the Greengrass group. */
    GroupId: string;
}
export interface GetGroupCertificateAuthorityInput {
    /** The ID of the certificate authority. */
    CertificateAuthorityId: string;
    /** The ID of the Greengrass group. */
    GroupId: string;
}
export interface GetGroupCertificateConfigurationInput {
    /** The ID of the Greengrass group. */
    GroupId: string;
}
export interface GetGroupVersionInput {
    /** The ID of the Greengrass group. */
    GroupId: string;
    /** The ID of the group version. This value maps to the ''Version'' property of the corresponding ''VersionInformation'' object, which is returned by ''ListGroupVersions'' requests. If the version is the  */
    GroupVersionId: string;
}
export interface GetLoggerDefinitionInput {
    /** The ID of the logger definition. */
    LoggerDefinitionId: string;
}
export interface GetLoggerDefinitionVersionInput {
    /** The ID of the logger definition. */
    LoggerDefinitionId: string;
    /** The ID of the logger definition version. This value maps to the ''Version'' property of the corresponding ''VersionInformation'' object, which is returned by ''ListLoggerDefinitionVersions'' requests. */
    LoggerDefinitionVersionId: string;
    /** The token for the next set of results, or ''null'' if there are no additional results. */
    NextToken?: string;
}
export interface GetResourceDefinitionInput {
    /** The ID of the resource definition. */
    ResourceDefinitionId: string;
}
export interface GetResourceDefinitionVersionInput {
    /** The ID of the resource definition. */
    ResourceDefinitionId: string;
    /** The ID of the resource definition version. This value maps to the ''Version'' property of the corresponding ''VersionInformation'' object, which is returned by ''ListResourceDefinitionVersions'' reque */
    ResourceDefinitionVersionId: string;
}
export interface GetSubscriptionDefinitionInput {
    /** The ID of the subscription definition. */
    SubscriptionDefinitionId: string;
}
export interface GetSubscriptionDefinitionVersionInput {
    /** The ID of the subscription definition. */
    SubscriptionDefinitionId: string;
    /** The ID of the subscription definition version. This value maps to the ''Version'' property of the corresponding ''VersionInformation'' object, which is returned by ''ListSubscriptionDefinitionVersions */
    SubscriptionDefinitionVersionId: string;
    /** The token for the next set of results, or ''null'' if there are no additional results. */
    NextToken?: string;
}
export interface GetThingRuntimeConfigurationInput {
    /** The thing name. */
    ThingName: string;
}
export interface ListBulkDeploymentDetailedReportsInput {
    /** The ID of the bulk deployment. */
    BulkDeploymentId: string;
    /** The maximum number of results to be returned per request. */
    MaxResults?: string;
    /** The token for the next set of results, or ''null'' if there are no additional results. */
    NextToken?: string;
}
export interface ListBulkDeploymentsInput {
    /** The maximum number of results to be returned per request. */
    MaxResults?: string;
    /** The token for the next set of results, or ''null'' if there are no additional results. */
    NextToken?: string;
}
export interface ListConnectorDefinitionsInput {
    /** The maximum number of results to be returned per request. */
    MaxResults?: string;
    /** The token for the next set of results, or ''null'' if there are no additional results. */
    NextToken?: string;
}
export interface ListConnectorDefinitionVersionsInput {
    /** The ID of the connector definition. */
    ConnectorDefinitionId: string;
    /** The maximum number of results to be returned per request. */
    MaxResults?: string;
    /** The token for the next set of results, or ''null'' if there are no additional results. */
    NextToken?: string;
}
export interface ListCoreDefinitionsInput {
    /** The maximum number of results to be returned per request. */
    MaxResults?: string;
    /** The token for the next set of results, or ''null'' if there are no additional results. */
    NextToken?: string;
}
export interface ListCoreDefinitionVersionsInput {
    /** The ID of the core definition. */
    CoreDefinitionId: string;
    /** The maximum number of results to be returned per request. */
    MaxResults?: string;
    /** The token for the next set of results, or ''null'' if there are no additional results. */
    NextToken?: string;
}
export interface ListDeploymentsInput {
    /** The ID of the Greengrass group. */
    GroupId: string;
    /** The maximum number of results to be returned per request. */
    MaxResults?: string;
    /** The token for the next set of results, or ''null'' if there are no additional results. */
    NextToken?: string;
}
export interface ListDeviceDefinitionsInput {
    /** The maximum number of results to be returned per request. */
    MaxResults?: string;
    /** The token for the next set of results, or ''null'' if there are no additional results. */
    NextToken?: string;
}
export interface ListDeviceDefinitionVersionsInput {
    /** The ID of the device definition. */
    DeviceDefinitionId: string;
    /** The maximum number of results to be returned per request. */
    MaxResults?: string;
    /** The token for the next set of results, or ''null'' if there are no additional results. */
    NextToken?: string;
}
export interface ListFunctionDefinitionsInput {
    /** The maximum number of results to be returned per request. */
    MaxResults?: string;
    /** The token for the next set of results, or ''null'' if there are no additional results. */
    NextToken?: string;
}
export interface ListFunctionDefinitionVersionsInput {
    /** The ID of the Lambda function definition. */
    FunctionDefinitionId: string;
    /** The maximum number of results to be returned per request. */
    MaxResults?: string;
    /** The token for the next set of results, or ''null'' if there are no additional results. */
    NextToken?: string;
}
export interface ListGroupCertificateAuthoritiesInput {
    /** The ID of the Greengrass group. */
    GroupId: string;
}
export interface ListGroupsInput {
    /** The maximum number of results to be returned per request. */
    MaxResults?: string;
    /** The token for the next set of results, or ''null'' if there are no additional results. */
    NextToken?: string;
}
export interface ListGroupVersionsInput {
    /** The ID of the Greengrass group. */
    GroupId: string;
    /** The maximum number of results to be returned per request. */
    MaxResults?: string;
    /** The token for the next set of results, or ''null'' if there are no additional results. */
    NextToken?: string;
}
export interface ListLoggerDefinitionsInput {
    /** The maximum number of results to be returned per request. */
    MaxResults?: string;
    /** The token for the next set of results, or ''null'' if there are no additional results. */
    NextToken?: string;
}
export interface ListLoggerDefinitionVersionsInput {
    /** The ID of the logger definition. */
    LoggerDefinitionId: string;
    /** The maximum number of results to be returned per request. */
    MaxResults?: string;
    /** The token for the next set of results, or ''null'' if there are no additional results. */
    NextToken?: string;
}
export interface ListResourceDefinitionsInput {
    /** The maximum number of results to be returned per request. */
    MaxResults?: string;
    /** The token for the next set of results, or ''null'' if there are no additional results. */
    NextToken?: string;
}
export interface ListResourceDefinitionVersionsInput {
    /** The ID of the resource definition. */
    ResourceDefinitionId: string;
    /** The maximum number of results to be returned per request. */
    MaxResults?: string;
    /** The token for the next set of results, or ''null'' if there are no additional results. */
    NextToken?: string;
}
export interface ListSubscriptionDefinitionsInput {
    /** The maximum number of results to be returned per request. */
    MaxResults?: string;
    /** The token for the next set of results, or ''null'' if there are no additional results. */
    NextToken?: string;
}
export interface ListSubscriptionDefinitionVersionsInput {
    /** The ID of the subscription definition. */
    SubscriptionDefinitionId: string;
    /** The maximum number of results to be returned per request. */
    MaxResults?: string;
    /** The token for the next set of results, or ''null'' if there are no additional results. */
    NextToken?: string;
}
export interface ListTagsForResourceInput {
    /** The Amazon Resource Name (ARN) of the resource. */
    ResourceArn: string;
}
/** Information needed to reset deployments. */
export interface ResetDeploymentsInput {
    /** The ID of the Greengrass group. */
    GroupId: string;
    /** A client token used to correlate requests and responses. */
    AmznClientToken?: string;
    /** If true, performs a best-effort only core reset. */
    Force?: boolean;
}
export interface StartBulkDeploymentInput {
    /** The ARN of the execution role to associate with the bulk deployment operation. This IAM role must allow the ''greengrass:CreateDeployment'' action for all group versions that are listed in the input f */
    ExecutionRoleArn: string;
    /** The URI of the input file contained in the S3 bucket. The execution role must have ''getObject'' permissions on this bucket to access the input file. The input file is a JSON-serialized, line delimite */
    InputFileUri: string;
    /** A client token used to correlate requests and responses. */
    AmznClientToken?: string;
    /** Tag(s) to add to the new resource. */
    tags?: Record<string, string>;
}
export interface StopBulkDeploymentInput {
    /** The ID of the bulk deployment. */
    BulkDeploymentId: string;
}
/** A map of the key-value pairs for the resource tag. */
export interface TagResourceInput {
    /** The Amazon Resource Name (ARN) of the resource. */
    ResourceArn: string;
    tags?: Record<string, string>;
}
export interface UntagResourceInput {
    /** The Amazon Resource Name (ARN) of the resource. */
    ResourceArn: string;
    /** An array of tag keys to delete */
    TagKeys: string[];
}
/** Connectivity information. */
export interface UpdateConnectivityInfoInput {
    /** The thing name. */
    ThingName: string;
    /** A list of connectivity info. */
    ConnectivityInfo?: ConnectivityInfo[];
}
export interface UpdateConnectorDefinitionInput {
    /** The ID of the connector definition. */
    ConnectorDefinitionId: string;
    /** The name of the definition. */
    Name?: string;
}
export interface UpdateCoreDefinitionInput {
    /** The ID of the core definition. */
    CoreDefinitionId: string;
    /** The name of the definition. */
    Name?: string;
}
export interface UpdateDeviceDefinitionInput {
    /** The ID of the device definition. */
    DeviceDefinitionId: string;
    /** The name of the definition. */
    Name?: string;
}
export interface UpdateFunctionDefinitionInput {
    /** The ID of the Lambda function definition. */
    FunctionDefinitionId: string;
    /** The name of the definition. */
    Name?: string;
}
export interface UpdateGroupInput {
    /** The ID of the Greengrass group. */
    GroupId: string;
    /** The name of the definition. */
    Name?: string;
}
export interface UpdateGroupCertificateConfigurationInput {
    /** The ID of the Greengrass group. */
    GroupId: string;
    /** The amount of time remaining before the certificate expires, in milliseconds. */
    CertificateExpiryInMilliseconds?: string;
}
export interface UpdateLoggerDefinitionInput {
    /** The ID of the logger definition. */
    LoggerDefinitionId: string;
    /** The name of the definition. */
    Name?: string;
}
export interface UpdateResourceDefinitionInput {
    /** The ID of the resource definition. */
    ResourceDefinitionId: string;
    /** The name of the definition. */
    Name?: string;
}
export interface UpdateSubscriptionDefinitionInput {
    /** The ID of the subscription definition. */
    SubscriptionDefinitionId: string;
    /** The name of the definition. */
    Name?: string;
}
export interface UpdateThingRuntimeConfigurationInput {
    /** The thing name. */
    ThingName: string;
    /** Configuration for telemetry service. */
    TelemetryConfiguration?: TelemetryConfigurationUpdate;
}
/** Greengrass service binding for Step Functions SDK integrations. */
export declare class Greengrass {
    constructor();
    associateRoleToGroup<T>(params: AssociateRoleToGroupInput): Promise<T>;
    associateServiceRoleToAccount<T>(params: AssociateServiceRoleToAccountInput): Promise<T>;
    createConnectorDefinition<T>(params: CreateConnectorDefinitionInput): Promise<T>;
    createConnectorDefinitionVersion<T>(params: CreateConnectorDefinitionVersionInput): Promise<T>;
    createCoreDefinition<T>(params: CreateCoreDefinitionInput): Promise<T>;
    createCoreDefinitionVersion<T>(params: CreateCoreDefinitionVersionInput): Promise<T>;
    createDeployment<T>(params: CreateDeploymentInput): Promise<T>;
    createDeviceDefinition<T>(params: CreateDeviceDefinitionInput): Promise<T>;
    createDeviceDefinitionVersion<T>(params: CreateDeviceDefinitionVersionInput): Promise<T>;
    createFunctionDefinition<T>(params: CreateFunctionDefinitionInput): Promise<T>;
    createFunctionDefinitionVersion<T>(params: CreateFunctionDefinitionVersionInput): Promise<T>;
    createGroup<T>(params: CreateGroupInput): Promise<T>;
    createGroupCertificateAuthority<T>(params: CreateGroupCertificateAuthorityInput): Promise<T>;
    createGroupVersion<T>(params: CreateGroupVersionInput): Promise<T>;
    createLoggerDefinition<T>(params: CreateLoggerDefinitionInput): Promise<T>;
    createLoggerDefinitionVersion<T>(params: CreateLoggerDefinitionVersionInput): Promise<T>;
    createResourceDefinition<T>(params: CreateResourceDefinitionInput): Promise<T>;
    createResourceDefinitionVersion<T>(params: CreateResourceDefinitionVersionInput): Promise<T>;
    createSoftwareUpdateJob<T>(params: CreateSoftwareUpdateJobInput): Promise<T>;
    createSubscriptionDefinition<T>(params: CreateSubscriptionDefinitionInput): Promise<T>;
    createSubscriptionDefinitionVersion<T>(params: CreateSubscriptionDefinitionVersionInput): Promise<T>;
    deleteConnectorDefinition<T>(params: DeleteConnectorDefinitionInput): Promise<T>;
    deleteCoreDefinition<T>(params: DeleteCoreDefinitionInput): Promise<T>;
    deleteDeviceDefinition<T>(params: DeleteDeviceDefinitionInput): Promise<T>;
    deleteFunctionDefinition<T>(params: DeleteFunctionDefinitionInput): Promise<T>;
    deleteGroup<T>(params: DeleteGroupInput): Promise<T>;
    deleteLoggerDefinition<T>(params: DeleteLoggerDefinitionInput): Promise<T>;
    deleteResourceDefinition<T>(params: DeleteResourceDefinitionInput): Promise<T>;
    deleteSubscriptionDefinition<T>(params: DeleteSubscriptionDefinitionInput): Promise<T>;
    disassociateRoleFromGroup<T>(params: DisassociateRoleFromGroupInput): Promise<T>;
    disassociateServiceRoleFromAccount<T>(params: Record<string, any>): Promise<T>;
    getAssociatedRole<T>(params: GetAssociatedRoleInput): Promise<T>;
    getBulkDeploymentStatus<T>(params: GetBulkDeploymentStatusInput): Promise<T>;
    getConnectivityInfo<T>(params: GetConnectivityInfoInput): Promise<T>;
    getConnectorDefinition<T>(params: GetConnectorDefinitionInput): Promise<T>;
    getConnectorDefinitionVersion<T>(params: GetConnectorDefinitionVersionInput): Promise<T>;
    getCoreDefinition<T>(params: GetCoreDefinitionInput): Promise<T>;
    getCoreDefinitionVersion<T>(params: GetCoreDefinitionVersionInput): Promise<T>;
    getDeploymentStatus<T>(params: GetDeploymentStatusInput): Promise<T>;
    getDeviceDefinition<T>(params: GetDeviceDefinitionInput): Promise<T>;
    getDeviceDefinitionVersion<T>(params: GetDeviceDefinitionVersionInput): Promise<T>;
    getFunctionDefinition<T>(params: GetFunctionDefinitionInput): Promise<T>;
    getFunctionDefinitionVersion<T>(params: GetFunctionDefinitionVersionInput): Promise<T>;
    getGroup<T>(params: GetGroupInput): Promise<T>;
    getGroupCertificateAuthority<T>(params: GetGroupCertificateAuthorityInput): Promise<T>;
    getGroupCertificateConfiguration<T>(params: GetGroupCertificateConfigurationInput): Promise<T>;
    getGroupVersion<T>(params: GetGroupVersionInput): Promise<T>;
    getLoggerDefinition<T>(params: GetLoggerDefinitionInput): Promise<T>;
    getLoggerDefinitionVersion<T>(params: GetLoggerDefinitionVersionInput): Promise<T>;
    getResourceDefinition<T>(params: GetResourceDefinitionInput): Promise<T>;
    getResourceDefinitionVersion<T>(params: GetResourceDefinitionVersionInput): Promise<T>;
    getServiceRoleForAccount<T>(params: Record<string, any>): Promise<T>;
    getSubscriptionDefinition<T>(params: GetSubscriptionDefinitionInput): Promise<T>;
    getSubscriptionDefinitionVersion<T>(params: GetSubscriptionDefinitionVersionInput): Promise<T>;
    getThingRuntimeConfiguration<T>(params: GetThingRuntimeConfigurationInput): Promise<T>;
    listBulkDeploymentDetailedReports<T>(params: ListBulkDeploymentDetailedReportsInput): Promise<T>;
    listBulkDeployments<T>(params: ListBulkDeploymentsInput): Promise<T>;
    listConnectorDefinitions<T>(params: ListConnectorDefinitionsInput): Promise<T>;
    listConnectorDefinitionVersions<T>(params: ListConnectorDefinitionVersionsInput): Promise<T>;
    listCoreDefinitions<T>(params: ListCoreDefinitionsInput): Promise<T>;
    listCoreDefinitionVersions<T>(params: ListCoreDefinitionVersionsInput): Promise<T>;
    listDeployments<T>(params: ListDeploymentsInput): Promise<T>;
    listDeviceDefinitions<T>(params: ListDeviceDefinitionsInput): Promise<T>;
    listDeviceDefinitionVersions<T>(params: ListDeviceDefinitionVersionsInput): Promise<T>;
    listFunctionDefinitions<T>(params: ListFunctionDefinitionsInput): Promise<T>;
    listFunctionDefinitionVersions<T>(params: ListFunctionDefinitionVersionsInput): Promise<T>;
    listGroupCertificateAuthorities<T>(params: ListGroupCertificateAuthoritiesInput): Promise<T>;
    listGroups<T>(params: ListGroupsInput): Promise<T>;
    listGroupVersions<T>(params: ListGroupVersionsInput): Promise<T>;
    listLoggerDefinitions<T>(params: ListLoggerDefinitionsInput): Promise<T>;
    listLoggerDefinitionVersions<T>(params: ListLoggerDefinitionVersionsInput): Promise<T>;
    listResourceDefinitions<T>(params: ListResourceDefinitionsInput): Promise<T>;
    listResourceDefinitionVersions<T>(params: ListResourceDefinitionVersionsInput): Promise<T>;
    listSubscriptionDefinitions<T>(params: ListSubscriptionDefinitionsInput): Promise<T>;
    listSubscriptionDefinitionVersions<T>(params: ListSubscriptionDefinitionVersionsInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    resetDeployments<T>(params: ResetDeploymentsInput): Promise<T>;
    startBulkDeployment<T>(params: StartBulkDeploymentInput): Promise<T>;
    stopBulkDeployment<T>(params: StopBulkDeploymentInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateConnectivityInfo<T>(params: UpdateConnectivityInfoInput): Promise<T>;
    updateConnectorDefinition<T>(params: UpdateConnectorDefinitionInput): Promise<T>;
    updateCoreDefinition<T>(params: UpdateCoreDefinitionInput): Promise<T>;
    updateDeviceDefinition<T>(params: UpdateDeviceDefinitionInput): Promise<T>;
    updateFunctionDefinition<T>(params: UpdateFunctionDefinitionInput): Promise<T>;
    updateGroup<T>(params: UpdateGroupInput): Promise<T>;
    updateGroupCertificateConfiguration<T>(params: UpdateGroupCertificateConfigurationInput): Promise<T>;
    updateLoggerDefinition<T>(params: UpdateLoggerDefinitionInput): Promise<T>;
    updateResourceDefinition<T>(params: UpdateResourceDefinitionInput): Promise<T>;
    updateSubscriptionDefinition<T>(params: UpdateSubscriptionDefinitionInput): Promise<T>;
    updateThingRuntimeConfiguration<T>(params: UpdateThingRuntimeConfigurationInput): Promise<T>;
}
//# sourceMappingURL=Greengrass.d.ts.map