export interface Tag {
    /** The tag's key. */
    Key: string;
    /** The tag's value. */
    Value: string;
}
export interface VpcConfiguration {
    /** The ID of the Amazon VPC connected to the infrastructure where your provider type is installed. */
    VpcId: string;
    /** The ID of the subnet or subnets associated with the Amazon VPC connected to the infrastructure where your provider type is installed. */
    SubnetIds: string[];
    /** The ID of the security group or security groups associated with the Amazon VPC connected to the infrastructure where your provider type is installed. */
    SecurityGroupIds: string[];
    /** The value of the Transport Layer Security (TLS) certificate associated with the infrastructure where your provider type is installed. */
    TlsCertificate?: string;
}
export interface CreateConnectionInput {
    /** The name of the connection to be created. */
    ConnectionName: string;
    /** The Amazon Resource Name (ARN) of the host associated with the connection to be created. */
    HostArn?: string;
    /** The name of the external provider where your third-party code repository is configured. */
    ProviderType?: 'Bitbucket' | 'GitHub' | 'GitHubEnterpriseServer' | 'GitLab' | 'GitLabSelfManaged';
    /** The key-value pair to use when tagging the resource. */
    Tags?: Tag[];
}
export interface CreateHostInput {
    /** The name of the host to be created. */
    Name: string;
    /** The endpoint of the infrastructure to be represented by the host after it is created. */
    ProviderEndpoint: string;
    /** The name of the installed provider to be associated with your connection. The host resource represents the infrastructure where your provider type is installed. The valid provider type is GitHub Enter */
    ProviderType: 'Bitbucket' | 'GitHub' | 'GitHubEnterpriseServer' | 'GitLab' | 'GitLabSelfManaged';
    /** Tags for the host to be created. */
    Tags?: Tag[];
    /** The VPC configuration to be provisioned for the host. A VPC must be configured and the infrastructure to be represented by the host must already be connected to the VPC. */
    VpcConfiguration?: VpcConfiguration;
}
export interface CreateRepositoryLinkInput {
    /** The Amazon Resource Name (ARN) of the connection to be associated with the repository link. */
    ConnectionArn: string;
    /** The owner ID for the repository associated with a specific sync configuration, such as the owner ID in GitHub. */
    OwnerId: string;
    /** The name of the repository to be associated with the repository link. */
    RepositoryName: string;
    /** The Amazon Resource Name (ARN) encryption key for the repository to be associated with the repository link. */
    EncryptionKeyArn?: string;
    /** The tags for the repository to be associated with the repository link. */
    Tags?: Tag[];
}
export interface CreateSyncConfigurationInput {
    /** The branch in the repository from which changes will be synced. */
    Branch: string;
    /** The file name of the configuration file that manages syncing between the connection and the repository. This configuration file is stored in the repository. */
    ConfigFile: string;
    /** The ID of the repository link created for the connection. A repository link allows Git sync to monitor and sync changes to files in a specified Git repository. */
    RepositoryLinkId: string;
    /** The name of the Amazon Web Services resource (for example, a CloudFormation stack in the case of CFN_STACK_SYNC) that will be synchronized from the linked repository. */
    ResourceName: string;
    /** The ARN of the IAM role that grants permission for Amazon Web Services to use Git sync to update a given Amazon Web Services resource on your behalf. */
    RoleArn: string;
    /** The type of sync configuration. */
    SyncType: 'CFN_STACK_SYNC';
    /** Whether to enable or disable publishing of deployment status to source providers. */
    PublishDeploymentStatus?: 'ENABLED' | 'DISABLED';
    /** When to trigger Git sync to begin the stack update. */
    TriggerResourceUpdateOn?: 'ANY_CHANGE' | 'FILE_CHANGE';
}
export interface DeleteConnectionInput {
    /** The Amazon Resource Name (ARN) of the connection to be deleted. The ARN is never reused if the connection is deleted. */
    ConnectionArn: string;
}
export interface DeleteHostInput {
    /** The Amazon Resource Name (ARN) of the host to be deleted. */
    HostArn: string;
}
export interface DeleteRepositoryLinkInput {
    /** The ID of the repository link to be deleted. */
    RepositoryLinkId: string;
}
export interface DeleteSyncConfigurationInput {
    /** The name of the Amazon Web Services resource associated with the sync configuration to be deleted. */
    ResourceName: string;
    /** The type of sync configuration to be deleted. */
    SyncType: 'CFN_STACK_SYNC';
}
export interface GetConnectionInput {
    /** The Amazon Resource Name (ARN) of a connection. */
    ConnectionArn: string;
}
export interface GetHostInput {
    /** The Amazon Resource Name (ARN) of the requested host. */
    HostArn: string;
}
export interface GetRepositoryLinkInput {
    /** The ID of the repository link to get. */
    RepositoryLinkId: string;
}
export interface GetRepositorySyncStatusInput {
    /** The branch of the repository link for the requested repository sync status. */
    Branch: string;
    /** The repository link ID for the requested repository sync status. */
    RepositoryLinkId: string;
    /** The sync type of the requested sync status. */
    SyncType: 'CFN_STACK_SYNC';
}
export interface GetResourceSyncStatusInput {
    /** The name of the Amazon Web Services resource for the sync status with the Git repository. */
    ResourceName: string;
    /** The sync type for the sync status with the Git repository. */
    SyncType: 'CFN_STACK_SYNC';
}
export interface GetSyncBlockerSummaryInput {
    /** The name of the Amazon Web Services resource currently blocked from automatically being synced from a Git repository. */
    ResourceName: string;
    /** The sync type for the sync blocker summary. */
    SyncType: 'CFN_STACK_SYNC';
}
export interface GetSyncConfigurationInput {
    /** The name of the Amazon Web Services resource for the sync configuration for which you want to retrieve information. */
    ResourceName: string;
    /** The sync type for the sync configuration for which you want to retrieve information. */
    SyncType: 'CFN_STACK_SYNC';
}
export interface ListConnectionsInput {
    /** Filters the list of connections to those associated with a specified host. */
    HostArnFilter?: string;
    /** The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned nextToken value. */
    MaxResults?: number;
    /** The token that was returned from the previous ListConnections call, which can be used to return the next set of connections in the list. */
    NextToken?: string;
    /** Filters the list of connections to those associated with a specified provider, such as Bitbucket. */
    ProviderTypeFilter?: 'Bitbucket' | 'GitHub' | 'GitHubEnterpriseServer' | 'GitLab' | 'GitLabSelfManaged';
}
export interface ListHostsInput {
    /** The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned nextToken value. */
    MaxResults?: number;
    /** The token that was returned from the previous ListHosts call, which can be used to return the next set of hosts in the list. */
    NextToken?: string;
}
export interface ListRepositoryLinksInput {
    /** A non-zero, non-negative integer used to limit the number of returned results. */
    MaxResults?: number;
    /** An enumeration token that, when provided in a request, returns the next batch of the results. */
    NextToken?: string;
}
export interface ListRepositorySyncDefinitionsInput {
    /** The ID of the repository link for the sync definition for which you want to retrieve information. */
    RepositoryLinkId: string;
    /** The sync type of the repository link for the the sync definition for which you want to retrieve information. */
    SyncType: 'CFN_STACK_SYNC';
}
export interface ListSyncConfigurationsInput {
    /** The ID of the repository link for the requested list of sync configurations. */
    RepositoryLinkId: string;
    /** The sync type for the requested list of sync configurations. */
    SyncType: 'CFN_STACK_SYNC';
    /** A non-zero, non-negative integer used to limit the number of returned results. */
    MaxResults?: number;
    /** An enumeration token that allows the operation to batch the results of the operation. */
    NextToken?: string;
}
export interface ListTagsForResourceInput {
    /** The Amazon Resource Name (ARN) of the resource for which you want to get information about tags, if any. */
    ResourceArn: string;
}
export interface TagResourceInput {
    /** The Amazon Resource Name (ARN) of the resource to which you want to add or update tags. */
    ResourceArn: string;
    /** The tags you want to modify or add to the resource. */
    Tags: Tag[];
}
export interface UntagResourceInput {
    /** The Amazon Resource Name (ARN) of the resource to remove tags from. */
    ResourceArn: string;
    /** The list of keys for the tags to be removed from the resource. */
    TagKeys: string[];
}
export interface UpdateHostInput {
    /** The Amazon Resource Name (ARN) of the host to be updated. */
    HostArn: string;
    /** The URL or endpoint of the host to be updated. */
    ProviderEndpoint?: string;
    /** The VPC configuration of the host to be updated. A VPC must be configured and the infrastructure to be represented by the host must already be connected to the VPC. */
    VpcConfiguration?: VpcConfiguration;
}
export interface UpdateRepositoryLinkInput {
    /** The ID of the repository link to be updated. */
    RepositoryLinkId: string;
    /** The Amazon Resource Name (ARN) of the connection for the repository link to be updated. The updated connection ARN must have the same providerType (such as GitHub) as the original connection ARN for t */
    ConnectionArn?: string;
    /** The Amazon Resource Name (ARN) of the encryption key for the repository link to be updated. */
    EncryptionKeyArn?: string;
}
export interface UpdateSyncBlockerInput {
    /** The ID of the sync blocker to be updated. */
    Id: string;
    /** The reason for resolving the sync blocker. */
    ResolvedReason: string;
    /** The name of the resource for the sync blocker to be updated. */
    ResourceName: string;
    /** The sync type of the sync blocker to be updated. */
    SyncType: 'CFN_STACK_SYNC';
}
export interface UpdateSyncConfigurationInput {
    /** The name of the Amazon Web Services resource for the sync configuration to be updated. */
    ResourceName: string;
    /** The sync type for the sync configuration to be updated. */
    SyncType: 'CFN_STACK_SYNC';
    /** The branch for the sync configuration to be updated. */
    Branch?: string;
    /** The configuration file for the sync configuration to be updated. */
    ConfigFile?: string;
    /** Whether to enable or disable publishing of deployment status to source providers. */
    PublishDeploymentStatus?: 'ENABLED' | 'DISABLED';
    /** The ID of the repository link for the sync configuration to be updated. */
    RepositoryLinkId?: string;
    /** The ARN of the IAM role for the sync configuration to be updated. */
    RoleArn?: string;
    /** When to trigger Git sync to begin the stack update. */
    TriggerResourceUpdateOn?: 'ANY_CHANGE' | 'FILE_CHANGE';
}
/** CodeStar connections service binding for Step Functions SDK integrations. */
export declare class CodeStarconnections {
    constructor();
    createConnection<T>(params: CreateConnectionInput): Promise<T>;
    createHost<T>(params: CreateHostInput): Promise<T>;
    createRepositoryLink<T>(params: CreateRepositoryLinkInput): Promise<T>;
    createSyncConfiguration<T>(params: CreateSyncConfigurationInput): Promise<T>;
    deleteConnection<T>(params: DeleteConnectionInput): Promise<T>;
    deleteHost<T>(params: DeleteHostInput): Promise<T>;
    deleteRepositoryLink<T>(params: DeleteRepositoryLinkInput): Promise<T>;
    deleteSyncConfiguration<T>(params: DeleteSyncConfigurationInput): Promise<T>;
    getConnection<T>(params: GetConnectionInput): Promise<T>;
    getHost<T>(params: GetHostInput): Promise<T>;
    getRepositoryLink<T>(params: GetRepositoryLinkInput): Promise<T>;
    getRepositorySyncStatus<T>(params: GetRepositorySyncStatusInput): Promise<T>;
    getResourceSyncStatus<T>(params: GetResourceSyncStatusInput): Promise<T>;
    getSyncBlockerSummary<T>(params: GetSyncBlockerSummaryInput): Promise<T>;
    getSyncConfiguration<T>(params: GetSyncConfigurationInput): Promise<T>;
    listConnections<T>(params: ListConnectionsInput): Promise<T>;
    listHosts<T>(params: ListHostsInput): Promise<T>;
    listRepositoryLinks<T>(params: ListRepositoryLinksInput): Promise<T>;
    listRepositorySyncDefinitions<T>(params: ListRepositorySyncDefinitionsInput): Promise<T>;
    listSyncConfigurations<T>(params: ListSyncConfigurationsInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateHost<T>(params: UpdateHostInput): Promise<T>;
    updateRepositoryLink<T>(params: UpdateRepositoryLinkInput): Promise<T>;
    updateSyncBlocker<T>(params: UpdateSyncBlockerInput): Promise<T>;
    updateSyncConfiguration<T>(params: UpdateSyncConfigurationInput): Promise<T>;
}
//# sourceMappingURL=CodeStarconnections.d.ts.map