export interface Tag {
    /** The key of the resource tag. */
    key: string;
    /** The value of the resource tag. */
    value: string;
}
export interface S3ObjectSource {
    /** The name of the S3 bucket that contains a template bundle. */
    bucket: string;
    /** The path to the S3 bucket that contains a template bundle. */
    key: string;
}
export interface CompatibleEnvironmentTemplateInput {
    /** The compatible environment template name. */
    templateName: string;
    /** The major version of the compatible environment template. */
    majorVersion: string;
}
export interface EnvironmentTemplateFilter {
    /** Include templateName to filter search for a template name. */
    templateName: string;
    /** Include majorVersion to filter search for a major version. */
    majorVersion: string;
}
export interface ListServiceInstancesFilter {
    /** The name of a filtering criterion. */
    key?: 'name' | 'deploymentStatus' | 'templateName' | 'serviceName' | 'deployedTemplateVersionStatus' | 'environmentName' | 'lastDeploymentAttemptedAtBefore' | 'lastDeploymentAttemptedAtAfter' | 'createdAtBefore' | 'createdAtAfter';
    /** A value to filter by. With the date/time keys (*At{Before,After}), the value is a valid RFC 3339 string with no UTC offset and with an optional fractional precision (for example, 1985-04-12T23:20:50.5 */
    value?: string;
}
export interface Output {
    /** The output key. */
    key?: string;
    /** The output value. */
    valueString?: string;
}
export interface RepositoryBranchInput {
    /** The repository provider. */
    provider: 'GITHUB' | 'GITHUB_ENTERPRISE' | 'BITBUCKET';
    /** The repository name. */
    name: string;
    /** The repository branch. */
    branch: string;
}
export interface AcceptEnvironmentAccountConnectionInput {
    /** The ID of the environment account connection. */
    id: string;
}
export interface CancelComponentDeploymentInput {
    /** The name of the component with the deployment to cancel. */
    componentName: string;
}
export interface CancelEnvironmentDeploymentInput {
    /** The name of the environment with the deployment to cancel. */
    environmentName: string;
}
export interface CancelServiceInstanceDeploymentInput {
    /** The name of the service instance with the deployment to cancel. */
    serviceInstanceName: string;
    /** The name of the service with the service instance deployment to cancel. */
    serviceName: string;
}
export interface CancelServicePipelineDeploymentInput {
    /** The name of the service with the service pipeline deployment to cancel. */
    serviceName: string;
}
export interface CreateEnvironmentAccountConnectionInput {
    /** The name of the Proton environment that's created in the associated management account. */
    environmentName: string;
    /** The ID of the management account that accepts or rejects the environment account connection. You create and manage the Proton environment in this account. If the management account accepts the environ */
    managementAccountId: string;
    /** When included, if two identical requests are made with the same client token, Proton returns the environment account connection that the first request created. */
    clientToken?: string;
    /** The Amazon Resource Name (ARN) of an IAM service role in the environment account. Proton uses this role to provision infrastructure resources using CodeBuild-based provisioning in the associated envir */
    codebuildRoleArn?: string;
    /** The Amazon Resource Name (ARN) of the IAM service role that Proton uses when provisioning directly defined components in the associated environment account. It determines the scope of infrastructure t */
    componentRoleArn?: string;
    /** The Amazon Resource Name (ARN) of the IAM service role that's created in the environment account. Proton uses this role to provision infrastructure resources in the associated environment account. */
    roleArn?: string;
    /** An optional list of metadata items that you can associate with the Proton environment account connection. A tag is a key-value pair. For more information, see Proton resources and tagging in the Proto */
    tags?: Tag[];
}
export interface CreateEnvironmentTemplateVersionInput {
    /** An object that includes the template bundle S3 bucket path and name for the new version of an template. */
    source: {
        s3?: S3ObjectSource;
    };
    /** The name of the environment template. */
    templateName: string;
    /** When included, if two identical requests are made with the same client token, Proton returns the environment template version that the first request created. */
    clientToken?: string;
    /** A description of the new version of an environment template. */
    description?: string;
    /** To create a new minor version of the environment template, include major Version. To create a new major and minor version of the environment template, exclude major Version. */
    majorVersion?: string;
    /** An optional list of metadata items that you can associate with the Proton environment template version. A tag is a key-value pair. For more information, see Proton resources and tagging in the Proton  */
    tags?: Tag[];
}
export interface CreateServiceTemplateVersionInput {
    /** An array of environment template objects that are compatible with the new service template version. A service instance based on this service template version can run in environments based on compatibl */
    compatibleEnvironmentTemplates: CompatibleEnvironmentTemplateInput[];
    /** An object that includes the template bundle S3 bucket path and name for the new version of a service template. */
    source: {
        s3?: S3ObjectSource;
    };
    /** The name of the service template. */
    templateName: string;
    /** When included, if two identical requests are made with the same client token, Proton returns the service template version that the first request created. */
    clientToken?: string;
    /** A description of the new version of a service template. */
    description?: string;
    /** To create a new minor version of the service template, include a major Version. To create a new major and minor version of the service template, exclude major Version. */
    majorVersion?: string;
    /** An array of supported component sources. Components with supported sources can be attached to service instances based on this service template version. For more information about components, see Proto */
    supportedComponentSources?: 'DIRECTLY_DEFINED'[];
    /** An optional list of metadata items that you can associate with the Proton service template version. A tag is a key-value pair. For more information, see Proton resources and tagging in the Proton User */
    tags?: Tag[];
}
export interface DeleteComponentInput {
    /** The name of the component to delete. */
    name: string;
}
export interface DeleteDeploymentInput {
    /** The ID of the deployment to delete. */
    id: string;
}
export interface DeleteEnvironmentInput {
    /** The name of the environment to delete. */
    name: string;
}
export interface DeleteEnvironmentAccountConnectionInput {
    /** The ID of the environment account connection to delete. */
    id: string;
}
export interface DeleteEnvironmentTemplateInput {
    /** The name of the environment template to delete. */
    name: string;
}
export interface DeleteEnvironmentTemplateVersionInput {
    /** The environment template major version to delete. */
    majorVersion: string;
    /** The environment template minor version to delete. */
    minorVersion: string;
    /** The name of the environment template. */
    templateName: string;
}
export interface DeleteRepositoryInput {
    /** The repository name. */
    name: string;
    /** The repository provider. */
    provider: 'GITHUB' | 'GITHUB_ENTERPRISE' | 'BITBUCKET';
}
export interface DeleteServiceInput {
    /** The name of the service to delete. */
    name: string;
}
export interface DeleteServiceSyncConfigInput {
    /** The name of the service that you want to delete the service sync configuration for. */
    serviceName: string;
}
export interface DeleteServiceTemplateInput {
    /** The name of the service template to delete. */
    name: string;
}
export interface DeleteServiceTemplateVersionInput {
    /** The service template major version to delete. */
    majorVersion: string;
    /** The service template minor version to delete. */
    minorVersion: string;
    /** The name of the service template. */
    templateName: string;
}
export interface DeleteTemplateSyncConfigInput {
    /** The template name. */
    templateName: string;
    /** The template type. */
    templateType: 'ENVIRONMENT' | 'SERVICE';
}
export interface GetComponentInput {
    /** The name of the component that you want to get the detailed data for. */
    name: string;
}
export interface GetDeploymentInput {
    /** The ID of the deployment that you want to get the detailed data for. */
    id: string;
    /** The name of a component that you want to get the detailed data for. */
    componentName?: string;
    /** The name of a environment that you want to get the detailed data for. */
    environmentName?: string;
    /** The name of the service instance associated with the given deployment ID. serviceName must be specified to identify the service instance. */
    serviceInstanceName?: string;
    /** The name of the service associated with the given deployment ID. */
    serviceName?: string;
}
export interface GetEnvironmentInput {
    /** The name of the environment that you want to get the detailed data for. */
    name: string;
}
export interface GetEnvironmentAccountConnectionInput {
    /** The ID of the environment account connection that you want to get the detailed data for. */
    id: string;
}
export interface GetEnvironmentTemplateInput {
    /** The name of the environment template that you want to get the detailed data for. */
    name: string;
}
export interface GetEnvironmentTemplateVersionInput {
    /** To get environment template major version detail data, include major Version. */
    majorVersion: string;
    /** To get environment template minor version detail data, include minorVersion. */
    minorVersion: string;
    /** The name of the environment template a version of which you want to get detailed data for. */
    templateName: string;
}
export interface GetRepositoryInput {
    /** The repository name, for example myrepos/myrepo. */
    name: string;
    /** The repository provider. */
    provider: 'GITHUB' | 'GITHUB_ENTERPRISE' | 'BITBUCKET';
}
export interface GetRepositorySyncStatusInput {
    /** The repository branch. */
    branch: string;
    /** The repository name. */
    repositoryName: string;
    /** The repository provider. */
    repositoryProvider: 'GITHUB' | 'GITHUB_ENTERPRISE' | 'BITBUCKET';
    /** The repository sync type. */
    syncType: 'TEMPLATE_SYNC' | 'SERVICE_SYNC';
}
export interface GetServiceInput {
    /** The name of the service that you want to get the detailed data for. */
    name: string;
}
export interface GetServiceInstanceInput {
    /** The name of a service instance that you want to get the detailed data for. */
    name: string;
    /** The name of the service that you want the service instance input for. */
    serviceName: string;
}
export interface GetServiceInstanceSyncStatusInput {
    /** The name of the service instance that you want the sync status input for. */
    serviceInstanceName: string;
    /** The name of the service that the service instance belongs to. */
    serviceName: string;
}
export interface GetServiceSyncBlockerSummaryInput {
    /** The name of the service that you want to get the service sync blocker summary for. If given only the service name, all instances are blocked. */
    serviceName: string;
    /** The name of the service instance that you want to get the service sync blocker summary for. If given bothe the instance name and the service name, only the instance is blocked. */
    serviceInstanceName?: string;
}
export interface GetServiceSyncConfigInput {
    /** The name of the service that you want to get the service sync configuration for. */
    serviceName: string;
}
export interface GetServiceTemplateInput {
    /** The name of the service template that you want to get detailed data for. */
    name: string;
}
export interface GetServiceTemplateVersionInput {
    /** To get service template major version detail data, include major Version. */
    majorVersion: string;
    /** To get service template minor version detail data, include minorVersion. */
    minorVersion: string;
    /** The name of the service template a version of which you want to get detailed data for. */
    templateName: string;
}
export interface GetTemplateSyncConfigInput {
    /** The template name. */
    templateName: string;
    /** The template type. */
    templateType: 'ENVIRONMENT' | 'SERVICE';
}
export interface GetTemplateSyncStatusInput {
    /** The template name. */
    templateName: string;
    /** The template type. */
    templateType: 'ENVIRONMENT' | 'SERVICE';
    /** The template major version. */
    templateVersion: string;
}
export interface ListComponentOutputsInput {
    /** The name of the component whose outputs you want. */
    componentName: string;
    /** The ID of the deployment whose outputs you want. */
    deploymentId?: string;
    /** A token that indicates the location of the next output in the array of outputs, after the list of outputs that was previously requested. */
    nextToken?: string;
}
export interface ListComponentProvisionedResourcesInput {
    /** The name of the component whose provisioned resources you want. */
    componentName: string;
    /** A token that indicates the location of the next provisioned resource in the array of provisioned resources, after the list of provisioned resources that was previously requested. */
    nextToken?: string;
}
export interface ListComponentsInput {
    /** The name of an environment for result list filtering. Proton returns components associated with the environment or attached to service instances running in it. */
    environmentName?: string;
    /** The maximum number of components to list. */
    maxResults?: number;
    /** A token that indicates the location of the next component in the array of components, after the list of components that was previously requested. */
    nextToken?: string;
    /** The name of a service instance for result list filtering. Proton returns the component attached to the service instance, if any. */
    serviceInstanceName?: string;
    /** The name of a service for result list filtering. Proton returns components attached to service instances of the service. */
    serviceName?: string;
}
export interface ListDeploymentsInput {
    /** The name of a component for result list filtering. Proton returns deployments associated with that component. */
    componentName?: string;
    /** The name of an environment for result list filtering. Proton returns deployments associated with the environment. */
    environmentName?: string;
    /** The maximum number of deployments to list. */
    maxResults?: number;
    /** A token that indicates the location of the next deployment in the array of deployment, after the list of deployment that was previously requested. */
    nextToken?: string;
    /** The name of a service instance for result list filtering. Proton returns the deployments associated with the service instance. */
    serviceInstanceName?: string;
    /** The name of a service for result list filtering. Proton returns deployments associated with service instances of the service. */
    serviceName?: string;
}
export interface ListEnvironmentAccountConnectionsInput {
    /** The type of account making the ListEnvironmentAccountConnections request. */
    requestedBy: 'MANAGEMENT_ACCOUNT' | 'ENVIRONMENT_ACCOUNT';
    /** The environment name that's associated with each listed environment account connection. */
    environmentName?: string;
    /** The maximum number of environment account connections to list. */
    maxResults?: number;
    /** A token that indicates the location of the next environment account connection in the array of environment account connections, after the list of environment account connections that was previously re */
    nextToken?: string;
    /** The status details for each listed environment account connection. */
    statuses?: 'PENDING' | 'CONNECTED' | 'REJECTED'[];
}
export interface ListEnvironmentOutputsInput {
    /** The environment name. */
    environmentName: string;
    /** The ID of the deployment whose outputs you want. */
    deploymentId?: string;
    /** A token that indicates the location of the next environment output in the array of environment outputs, after the list of environment outputs that was previously requested. */
    nextToken?: string;
}
export interface ListEnvironmentProvisionedResourcesInput {
    /** The environment name. */
    environmentName: string;
    /** A token that indicates the location of the next environment provisioned resource in the array of environment provisioned resources, after the list of environment provisioned resources that was previou */
    nextToken?: string;
}
export interface ListEnvironmentsInput {
    /** An array of the versions of the environment template. */
    environmentTemplates?: EnvironmentTemplateFilter[];
    /** The maximum number of environments to list. */
    maxResults?: number;
    /** A token that indicates the location of the next environment in the array of environments, after the list of environments that was previously requested. */
    nextToken?: string;
}
export interface ListEnvironmentTemplatesInput {
    /** The maximum number of environment templates to list. */
    maxResults?: number;
    /** A token that indicates the location of the next environment template in the array of environment templates, after the list of environment templates that was previously requested. */
    nextToken?: string;
}
export interface ListEnvironmentTemplateVersionsInput {
    /** The name of the environment template. */
    templateName: string;
    /** To view a list of minor of versions under a major version of an environment template, include major Version. To view a list of major versions of an environment template, exclude major Version. */
    majorVersion?: string;
    /** The maximum number of major or minor versions of an environment template to list. */
    maxResults?: number;
    /** A token that indicates the location of the next major or minor version in the array of major or minor versions of an environment template, after the list of major or minor versions that was previously */
    nextToken?: string;
}
export interface ListRepositoriesInput {
    /** The maximum number of repositories to list. */
    maxResults?: number;
    /** A token that indicates the location of the next repository in the array of repositories, after the list of repositories previously requested. */
    nextToken?: string;
}
export interface ListRepositorySyncDefinitionsInput {
    /** The repository name. */
    repositoryName: string;
    /** The repository provider. */
    repositoryProvider: 'GITHUB' | 'GITHUB_ENTERPRISE' | 'BITBUCKET';
    /** The sync type. The only supported value is TEMPLATE_SYNC. */
    syncType: 'TEMPLATE_SYNC' | 'SERVICE_SYNC';
    /** A token that indicates the location of the next repository sync definition in the array of repository sync definitions, after the list of repository sync definitions previously requested. */
    nextToken?: string;
}
export interface ListServiceInstanceOutputsInput {
    /** The name of the service instance whose outputs you want. */
    serviceInstanceName: string;
    /** The name of the service that serviceInstanceName is associated to. */
    serviceName: string;
    /** The ID of the deployment whose outputs you want. */
    deploymentId?: string;
    /** A token that indicates the location of the next output in the array of outputs, after the list of outputs that was previously requested. */
    nextToken?: string;
}
export interface ListServiceInstanceProvisionedResourcesInput {
    /** The name of the service instance whose provisioned resources you want. */
    serviceInstanceName: string;
    /** The name of the service that serviceInstanceName is associated to. */
    serviceName: string;
    /** A token that indicates the location of the next provisioned resource in the array of provisioned resources, after the list of provisioned resources that was previously requested. */
    nextToken?: string;
}
export interface ListServiceInstancesInput {
    /** An array of filtering criteria that scope down the result list. By default, all service instances in the Amazon Web Services account are returned. */
    filters?: ListServiceInstancesFilter[];
    /** The maximum number of service instances to list. */
    maxResults?: number;
    /** A token that indicates the location of the next service in the array of service instances, after the list of service instances that was previously requested. */
    nextToken?: string;
    /** The name of the service that the service instance belongs to. */
    serviceName?: string;
    /** The field that the result list is sorted by. When you choose to sort by serviceName, service instances within each service are sorted by service instance name. Default: serviceName */
    sortBy?: 'name' | 'deploymentStatus' | 'templateName' | 'serviceName' | 'environmentName' | 'lastDeploymentAttemptedAt' | 'createdAt';
    /** Result list sort order. Default: ASCENDING */
    sortOrder?: 'ASCENDING' | 'DESCENDING';
}
export interface ListServicePipelineOutputsInput {
    /** The name of the service whose pipeline's outputs you want. */
    serviceName: string;
    /** The ID of the deployment you want the outputs for. */
    deploymentId?: string;
    /** A token that indicates the location of the next output in the array of outputs, after the list of outputs that was previously requested. */
    nextToken?: string;
}
export interface ListServicePipelineProvisionedResourcesInput {
    /** The name of the service whose pipeline's provisioned resources you want. */
    serviceName: string;
    /** A token that indicates the location of the next provisioned resource in the array of provisioned resources, after the list of provisioned resources that was previously requested. */
    nextToken?: string;
}
export interface ListServicesInput {
    /** The maximum number of services to list. */
    maxResults?: number;
    /** A token that indicates the location of the next service in the array of services, after the list of services that was previously requested. */
    nextToken?: string;
}
export interface ListServiceTemplatesInput {
    /** The maximum number of service templates to list. */
    maxResults?: number;
    /** A token that indicates the location of the next service template in the array of service templates, after the list of service templates previously requested. */
    nextToken?: string;
}
export interface ListServiceTemplateVersionsInput {
    /** The name of the service template. */
    templateName: string;
    /** To view a list of minor of versions under a major version of a service template, include major Version. To view a list of major versions of a service template, exclude major Version. */
    majorVersion?: string;
    /** The maximum number of major or minor versions of a service template to list. */
    maxResults?: number;
    /** A token that indicates the location of the next major or minor version in the array of major or minor versions of a service template, after the list of major or minor versions that was previously requ */
    nextToken?: string;
}
export interface ListTagsForResourceInput {
    /** The Amazon Resource Name (ARN) of the resource for the listed tags. */
    resourceArn: string;
    /** The maximum number of tags to list. */
    maxResults?: number;
    /** A token that indicates the location of the next resource tag in the array of resource tags, after the list of resource tags that was previously requested. */
    nextToken?: string;
}
export interface NotifyResourceDeploymentStatusChangeInput {
    /** The provisioned resource Amazon Resource Name (ARN). */
    resourceArn: string;
    /** The deployment ID for your provisioned resource. */
    deploymentId?: string;
    /** The provisioned resource state change detail data that's returned by Proton. */
    outputs?: Output[];
    /** The status of your provisioned resource. */
    status?: 'IN_PROGRESS' | 'FAILED' | 'SUCCEEDED';
    /** The deployment status message for your provisioned resource. */
    statusMessage?: string;
}
export interface RejectEnvironmentAccountConnectionInput {
    /** The ID of the environment account connection to reject. */
    id: string;
}
export interface TagResourceInput {
    /** The Amazon Resource Name (ARN) of the Proton resource to apply customer tags to. */
    resourceArn: string;
    /** A list of customer tags to apply to the Proton resource. */
    tags: Tag[];
}
export interface UntagResourceInput {
    /** The Amazon Resource Name (ARN) of the resource to remove customer tags from. */
    resourceArn: string;
    /** A list of customer tag keys that indicate the customer tags to be removed from the resource. */
    tagKeys: string[];
}
export interface UpdateAccountSettingsInput {
    /** Set to true to remove a configured pipeline repository from the account settings. Don't set this field if you are updating the configured pipeline repository. */
    deletePipelineProvisioningRepository?: boolean;
    /** The Amazon Resource Name (ARN) of the service role you want to use for provisioning pipelines. Proton assumes this role for CodeBuild-based provisioning. */
    pipelineCodebuildRoleArn?: string;
    /** A linked repository for pipeline provisioning. Specify it if you have environments configured for self-managed provisioning with services that include pipelines. A linked repository is a repository th */
    pipelineProvisioningRepository?: RepositoryBranchInput;
    /** The Amazon Resource Name (ARN) of the service role you want to use for provisioning pipelines. Assumed by Proton for Amazon Web Services-managed provisioning, and by customer-owned automation for self */
    pipelineServiceRoleArn?: string;
}
export interface UpdateComponentInput {
    /** The deployment type. It defines the mode for updating a component, as follows: NONE In this mode, a deployment doesn't occur. Only the requested metadata parameters are updated. You can only specify d */
    deploymentType: 'NONE' | 'CURRENT_VERSION';
    /** The name of the component to update. */
    name: string;
    /** The client token for the updated component. */
    clientToken?: string;
    /** An optional customer-provided description of the component. */
    description?: string;
    /** The name of the service instance that you want to attach this component to. Don't specify to keep the component's current service instance attachment. Specify an empty string to detach the component f */
    serviceInstanceName?: string;
    /** The name of the service that serviceInstanceName is associated with. Don't specify to keep the component's current service instance attachment. Specify an empty string to detach the component from the */
    serviceName?: string;
    /** The service spec that you want the component to use to access service inputs. Set this only when the component is attached to a service instance. */
    serviceSpec?: string;
    /** A path to the Infrastructure as Code (IaC) file describing infrastructure that a custom component provisions. Components support a single IaC file, even if you use Terraform as your template language. */
    templateFile?: string;
}
export interface UpdateEnvironmentInput {
    /** There are four modes for updating an environment. The deploymentType field defines the mode. NONE In this mode, a deployment doesn't occur. Only the requested metadata parameters are updated. CURRENT_ */
    deploymentType: 'NONE' | 'CURRENT_VERSION' | 'MINOR_VERSION' | 'MAJOR_VERSION';
    /** The name of the environment to update. */
    name: string;
    /** The Amazon Resource Name (ARN) of the IAM service role that allows Proton to provision infrastructure using CodeBuild-based provisioning on your behalf. */
    codebuildRoleArn?: string;
    /** The Amazon Resource Name (ARN) of the IAM service role that Proton uses when provisioning directly defined components in this environment. It determines the scope of infrastructure that a component ca */
    componentRoleArn?: string;
    /** A description of the environment update. */
    description?: string;
    /** The ID of the environment account connection. You can only update to a new environment account connection if it was created in the same environment account that the current environment account connect */
    environmentAccountConnectionId?: string;
    /** The Amazon Resource Name (ARN) of the Proton service role that allows Proton to make API calls to other services your behalf. */
    protonServiceRoleArn?: string;
    /** The linked repository that you use to host your rendered infrastructure templates for self-managed provisioning. A linked repository is a repository that has been registered with Proton. For more info */
    provisioningRepository?: RepositoryBranchInput;
    /** The formatted specification that defines the update. */
    spec?: string;
    /** The major version of the environment to update. */
    templateMajorVersion?: string;
    /** The minor version of the environment to update. */
    templateMinorVersion?: string;
}
export interface UpdateEnvironmentAccountConnectionInput {
    /** The ID of the environment account connection to update. */
    id: string;
    /** The Amazon Resource Name (ARN) of an IAM service role in the environment account. Proton uses this role to provision infrastructure resources using CodeBuild-based provisioning in the associated envir */
    codebuildRoleArn?: string;
    /** The Amazon Resource Name (ARN) of the IAM service role that Proton uses when provisioning directly defined components in the associated environment account. It determines the scope of infrastructure t */
    componentRoleArn?: string;
    /** The Amazon Resource Name (ARN) of the IAM service role that's associated with the environment account connection to update. */
    roleArn?: string;
}
export interface UpdateEnvironmentTemplateInput {
    /** The name of the environment template to update. */
    name: string;
    /** A description of the environment template update. */
    description?: string;
    /** The name of the environment template to update as displayed in the developer interface. */
    displayName?: string;
}
export interface UpdateEnvironmentTemplateVersionInput {
    /** To update a major version of an environment template, include major Version. */
    majorVersion: string;
    /** To update a minor version of an environment template, include minorVersion. */
    minorVersion: string;
    /** The name of the environment template. */
    templateName: string;
    /** A description of environment template version to update. */
    description?: string;
    /** The status of the environment template minor version to update. */
    status?: 'REGISTRATION_IN_PROGRESS' | 'REGISTRATION_FAILED' | 'DRAFT' | 'PUBLISHED';
}
export interface UpdateServiceInput {
    /** The name of the service to edit. */
    name: string;
    /** The edited service description. */
    description?: string;
    /** Lists the service instances to add and the existing service instances to remain. Omit the existing service instances to delete from the list. Don't include edits to the existing service instances or p */
    spec?: string;
}
export interface UpdateServiceInstanceInput {
    /** The deployment type. It defines the mode for updating a service instance, as follows: NONE In this mode, a deployment doesn't occur. Only the requested metadata parameters are updated. CURRENT_VERSION */
    deploymentType: 'NONE' | 'CURRENT_VERSION' | 'MINOR_VERSION' | 'MAJOR_VERSION';
    /** The name of the service instance to update. */
    name: string;
    /** The name of the service that the service instance belongs to. */
    serviceName: string;
    /** The client token of the service instance to update. */
    clientToken?: string;
    /** The formatted specification that defines the service instance update. */
    spec?: string;
    /** The major version of the service template to update. */
    templateMajorVersion?: string;
    /** The minor version of the service template to update. */
    templateMinorVersion?: string;
}
export interface UpdateServicePipelineInput {
    /** The deployment type. There are four modes for updating a service pipeline. The deploymentType field defines the mode. NONE In this mode, a deployment doesn't occur. Only the requested metadata paramet */
    deploymentType: 'NONE' | 'CURRENT_VERSION' | 'MINOR_VERSION' | 'MAJOR_VERSION';
    /** The name of the service to that the pipeline is associated with. */
    serviceName: string;
    /** The spec for the service pipeline to update. */
    spec: string;
    /** The major version of the service template that was used to create the service that the pipeline is associated with. */
    templateMajorVersion?: string;
    /** The minor version of the service template that was used to create the service that the pipeline is associated with. */
    templateMinorVersion?: string;
}
export interface UpdateServiceSyncBlockerInput {
    /** The ID of the service sync blocker. */
    id: string;
    /** The reason the service sync blocker was resolved. */
    resolvedReason: string;
}
export interface UpdateServiceSyncConfigInput {
    /** The name of the code repository branch where the Proton Ops file is found. */
    branch: string;
    /** The path to the Proton Ops file. */
    filePath: string;
    /** The name of the repository where the Proton Ops file is found. */
    repositoryName: string;
    /** The name of the repository provider where the Proton Ops file is found. */
    repositoryProvider: 'GITHUB' | 'GITHUB_ENTERPRISE' | 'BITBUCKET';
    /** The name of the service the Proton Ops file is for. */
    serviceName: string;
}
export interface UpdateServiceTemplateInput {
    /** The name of the service template to update. */
    name: string;
    /** A description of the service template update. */
    description?: string;
    /** The name of the service template to update that's displayed in the developer interface. */
    displayName?: string;
}
export interface UpdateServiceTemplateVersionInput {
    /** To update a major version of a service template, include major Version. */
    majorVersion: string;
    /** To update a minor version of a service template, include minorVersion. */
    minorVersion: string;
    /** The name of the service template. */
    templateName: string;
    /** An array of environment template objects that are compatible with this service template version. A service instance based on this service template version can run in environments based on compatible t */
    compatibleEnvironmentTemplates?: CompatibleEnvironmentTemplateInput[];
    /** A description of a service template version to update. */
    description?: string;
    /** The status of the service template minor version to update. */
    status?: 'REGISTRATION_IN_PROGRESS' | 'REGISTRATION_FAILED' | 'DRAFT' | 'PUBLISHED';
    /** An array of supported component sources. Components with supported sources can be attached to service instances based on this service template version. A change to supportedComponentSources doesn't im */
    supportedComponentSources?: 'DIRECTLY_DEFINED'[];
}
export interface UpdateTemplateSyncConfigInput {
    /** The repository branch for your template. */
    branch: string;
    /** The repository name (for example, myrepos/myrepo). */
    repositoryName: string;
    /** The repository provider. */
    repositoryProvider: 'GITHUB' | 'GITHUB_ENTERPRISE' | 'BITBUCKET';
    /** The synced template name. */
    templateName: string;
    /** The synced template type. */
    templateType: 'ENVIRONMENT' | 'SERVICE';
    /** A subdirectory path to your template bundle version. When included, limits the template bundle search to this repository directory. */
    subdirectory?: string;
}
/** Proton service binding for Step Functions SDK integrations. */
export declare class Proton {
    constructor();
    acceptEnvironmentAccountConnection<T>(params: AcceptEnvironmentAccountConnectionInput): Promise<T>;
    cancelComponentDeployment<T>(params: CancelComponentDeploymentInput): Promise<T>;
    cancelEnvironmentDeployment<T>(params: CancelEnvironmentDeploymentInput): Promise<T>;
    cancelServiceInstanceDeployment<T>(params: CancelServiceInstanceDeploymentInput): Promise<T>;
    cancelServicePipelineDeployment<T>(params: CancelServicePipelineDeploymentInput): Promise<T>;
    createEnvironmentAccountConnection<T>(params: CreateEnvironmentAccountConnectionInput): Promise<T>;
    createEnvironmentTemplateVersion<T>(params: CreateEnvironmentTemplateVersionInput): Promise<T>;
    createServiceTemplateVersion<T>(params: CreateServiceTemplateVersionInput): Promise<T>;
    deleteComponent<T>(params: DeleteComponentInput): Promise<T>;
    deleteDeployment<T>(params: DeleteDeploymentInput): Promise<T>;
    deleteEnvironment<T>(params: DeleteEnvironmentInput): Promise<T>;
    deleteEnvironmentAccountConnection<T>(params: DeleteEnvironmentAccountConnectionInput): Promise<T>;
    deleteEnvironmentTemplate<T>(params: DeleteEnvironmentTemplateInput): Promise<T>;
    deleteEnvironmentTemplateVersion<T>(params: DeleteEnvironmentTemplateVersionInput): Promise<T>;
    deleteRepository<T>(params: DeleteRepositoryInput): Promise<T>;
    deleteService<T>(params: DeleteServiceInput): Promise<T>;
    deleteServiceSyncConfig<T>(params: DeleteServiceSyncConfigInput): Promise<T>;
    deleteServiceTemplate<T>(params: DeleteServiceTemplateInput): Promise<T>;
    deleteServiceTemplateVersion<T>(params: DeleteServiceTemplateVersionInput): Promise<T>;
    deleteTemplateSyncConfig<T>(params: DeleteTemplateSyncConfigInput): Promise<T>;
    getAccountSettings<T>(params: Record<string, any>): Promise<T>;
    getComponent<T>(params: GetComponentInput): Promise<T>;
    getDeployment<T>(params: GetDeploymentInput): Promise<T>;
    getEnvironment<T>(params: GetEnvironmentInput): Promise<T>;
    getEnvironmentAccountConnection<T>(params: GetEnvironmentAccountConnectionInput): Promise<T>;
    getEnvironmentTemplate<T>(params: GetEnvironmentTemplateInput): Promise<T>;
    getEnvironmentTemplateVersion<T>(params: GetEnvironmentTemplateVersionInput): Promise<T>;
    getRepository<T>(params: GetRepositoryInput): Promise<T>;
    getRepositorySyncStatus<T>(params: GetRepositorySyncStatusInput): Promise<T>;
    getResourcesSummary<T>(params: Record<string, any>): Promise<T>;
    getService<T>(params: GetServiceInput): Promise<T>;
    getServiceInstance<T>(params: GetServiceInstanceInput): Promise<T>;
    getServiceInstanceSyncStatus<T>(params: GetServiceInstanceSyncStatusInput): Promise<T>;
    getServiceSyncBlockerSummary<T>(params: GetServiceSyncBlockerSummaryInput): Promise<T>;
    getServiceSyncConfig<T>(params: GetServiceSyncConfigInput): Promise<T>;
    getServiceTemplate<T>(params: GetServiceTemplateInput): Promise<T>;
    getServiceTemplateVersion<T>(params: GetServiceTemplateVersionInput): Promise<T>;
    getTemplateSyncConfig<T>(params: GetTemplateSyncConfigInput): Promise<T>;
    getTemplateSyncStatus<T>(params: GetTemplateSyncStatusInput): Promise<T>;
    listComponentOutputs<T>(params: ListComponentOutputsInput): Promise<T>;
    listComponentProvisionedResources<T>(params: ListComponentProvisionedResourcesInput): Promise<T>;
    listComponents<T>(params: ListComponentsInput): Promise<T>;
    listDeployments<T>(params: ListDeploymentsInput): Promise<T>;
    listEnvironmentAccountConnections<T>(params: ListEnvironmentAccountConnectionsInput): Promise<T>;
    listEnvironmentOutputs<T>(params: ListEnvironmentOutputsInput): Promise<T>;
    listEnvironmentProvisionedResources<T>(params: ListEnvironmentProvisionedResourcesInput): Promise<T>;
    listEnvironments<T>(params: ListEnvironmentsInput): Promise<T>;
    listEnvironmentTemplates<T>(params: ListEnvironmentTemplatesInput): Promise<T>;
    listEnvironmentTemplateVersions<T>(params: ListEnvironmentTemplateVersionsInput): Promise<T>;
    listRepositories<T>(params: ListRepositoriesInput): Promise<T>;
    listRepositorySyncDefinitions<T>(params: ListRepositorySyncDefinitionsInput): Promise<T>;
    listServiceInstanceOutputs<T>(params: ListServiceInstanceOutputsInput): Promise<T>;
    listServiceInstanceProvisionedResources<T>(params: ListServiceInstanceProvisionedResourcesInput): Promise<T>;
    listServiceInstances<T>(params: ListServiceInstancesInput): Promise<T>;
    listServicePipelineOutputs<T>(params: ListServicePipelineOutputsInput): Promise<T>;
    listServicePipelineProvisionedResources<T>(params: ListServicePipelineProvisionedResourcesInput): Promise<T>;
    listServices<T>(params: ListServicesInput): Promise<T>;
    listServiceTemplates<T>(params: ListServiceTemplatesInput): Promise<T>;
    listServiceTemplateVersions<T>(params: ListServiceTemplateVersionsInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    notifyResourceDeploymentStatusChange<T>(params: NotifyResourceDeploymentStatusChangeInput): Promise<T>;
    rejectEnvironmentAccountConnection<T>(params: RejectEnvironmentAccountConnectionInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateAccountSettings<T>(params: UpdateAccountSettingsInput): Promise<T>;
    updateComponent<T>(params: UpdateComponentInput): Promise<T>;
    updateEnvironment<T>(params: UpdateEnvironmentInput): Promise<T>;
    updateEnvironmentAccountConnection<T>(params: UpdateEnvironmentAccountConnectionInput): Promise<T>;
    updateEnvironmentTemplate<T>(params: UpdateEnvironmentTemplateInput): Promise<T>;
    updateEnvironmentTemplateVersion<T>(params: UpdateEnvironmentTemplateVersionInput): Promise<T>;
    updateService<T>(params: UpdateServiceInput): Promise<T>;
    updateServiceInstance<T>(params: UpdateServiceInstanceInput): Promise<T>;
    updateServicePipeline<T>(params: UpdateServicePipelineInput): Promise<T>;
    updateServiceSyncBlocker<T>(params: UpdateServiceSyncBlockerInput): Promise<T>;
    updateServiceSyncConfig<T>(params: UpdateServiceSyncConfigInput): Promise<T>;
    updateServiceTemplate<T>(params: UpdateServiceTemplateInput): Promise<T>;
    updateServiceTemplateVersion<T>(params: UpdateServiceTemplateVersionInput): Promise<T>;
    updateTemplateSyncConfig<T>(params: UpdateTemplateSyncConfigInput): Promise<T>;
}
//# sourceMappingURL=Proton.d.ts.map