export interface Tag {
    /** The key of the tag. */
    Key?: string;
    /** The value of the tag. */
    Value?: string;
}
export interface TraceConfiguration {
    /** The implementation provider chosen for tracing App Runner services. */
    Vendor: 'AWSXRAY';
}
export interface CodeRepository {
    /** The location of the repository that contains the source code. */
    RepositoryUrl: string;
    /** The version that should be used within the source code repository. */
    SourceCodeVersion: any;
    /** Configuration for building and running the service from a source code repository. CodeConfiguration is required only for CreateService request. */
    CodeConfiguration?: any;
    /** The path of the directory that stores source code and configuration files. The build and start commands also execute from here. The path is absolute from root and, if not specified, defaults to the re */
    SourceDirectory?: string;
}
export interface ImageRepository {
    /** The identifier of an image. For an image in Amazon Elastic Container Registry (Amazon ECR), this is an image name. For the image name format, see Pulling an image in the Amazon ECR User Guide. */
    ImageIdentifier: string;
    /** Configuration for running the identified image. */
    ImageConfiguration?: any;
    /** The type of the image repository. This reflects the repository provider and whether the repository is private or public. */
    ImageRepositoryType: 'ECR' | 'ECR_PUBLIC';
}
export interface AuthenticationConfiguration {
    /** The Amazon Resource Name (ARN) of the App Runner connection that enables the App Runner service to connect to a source repository. It's required for GitHub code repositories. */
    ConnectionArn?: string;
    /** The Amazon Resource Name (ARN) of the IAM role that grants the App Runner service access to a source repository. It's required for ECR image repositories (but not for ECR Public repositories). */
    AccessRoleArn?: string;
}
export interface SourceConfiguration {
    /** The description of a source code repository. You must provide either this member or ImageRepository (but not both). */
    CodeRepository?: CodeRepository;
    /** The description of a source image repository. You must provide either this member or CodeRepository (but not both). */
    ImageRepository?: ImageRepository;
    /** If true, continuous integration from the source repository is enabled for the App Runner service. Each repository change (including any source code commit or new image version) starts a deployment. De */
    AutoDeploymentsEnabled?: boolean;
    /** Describes the resources that are needed to authenticate access to some source repositories. */
    AuthenticationConfiguration?: AuthenticationConfiguration;
}
export interface InstanceConfiguration {
    /** The number of CPU units reserved for each instance of your App Runner service. Default: 1 vCPU */
    Cpu?: string;
    /** The amount of memory, in MB or GB, reserved for each instance of your App Runner service. Default: 2 GB */
    Memory?: string;
    /** The Amazon Resource Name (ARN) of an IAM role that provides permissions to your App Runner service. These are permissions that your code needs when it calls any Amazon Web Services APIs. */
    InstanceRoleArn?: string;
}
export interface EncryptionConfiguration {
    /** The ARN of the KMS key that's used for encryption. */
    KmsKey: string;
}
export interface HealthCheckConfiguration {
    /** The IP protocol that App Runner uses to perform health checks for your service. If you set Protocol to HTTP, App Runner sends health check requests to the HTTP path specified by Path. Default: TCP */
    Protocol?: 'TCP' | 'HTTP';
    /** The URL that health check requests are sent to. Path is only applicable when you set Protocol to HTTP. Default: "/" */
    Path?: string;
    /** The time interval, in seconds, between health checks. Default: 5 */
    Interval?: number;
    /** The time, in seconds, to wait for a health check response before deciding it failed. Default: 2 */
    Timeout?: number;
    /** The number of consecutive checks that must succeed before App Runner decides that the service is healthy. Default: 1 */
    HealthyThreshold?: number;
    /** The number of consecutive checks that must fail before App Runner decides that the service is unhealthy. Default: 5 */
    UnhealthyThreshold?: number;
}
export interface EgressConfiguration {
    /** The type of egress configuration. Set to DEFAULT for access to resources hosted on public networks. Set to VPC to associate your service to a custom VPC specified by VpcConnectorArn. */
    EgressType?: 'DEFAULT' | 'VPC';
    /** The Amazon Resource Name (ARN) of the App Runner VPC connector that you want to associate with your App Runner service. Only valid when EgressType = VPC. */
    VpcConnectorArn?: string;
}
export interface IngressConfiguration {
    /** Specifies whether your App Runner service is publicly accessible. To make the service publicly accessible set it to True. To make the service privately accessible, from only within an Amazon VPC set i */
    IsPubliclyAccessible?: boolean;
}
export interface NetworkConfiguration {
    /** Network configuration settings for outbound message traffic. */
    EgressConfiguration?: EgressConfiguration;
    /** Network configuration settings for inbound message traffic. */
    IngressConfiguration?: IngressConfiguration;
    /** App Runner provides you with the option to choose between IPv4 and dual stack (IPv4 and IPv6). This is an optional parameter. If you do not specify an IpAddressType, it defaults to select IPv4. */
    IpAddressType?: 'IPV4' | 'DUAL_STACK';
}
export interface ServiceObservabilityConfiguration {
    /** When true, an observability configuration resource is associated with the service, and an ObservabilityConfigurationArn is specified. */
    ObservabilityEnabled: boolean;
    /** The Amazon Resource Name (ARN) of the observability configuration that is associated with the service. Specified only when ObservabilityEnabled is true. Specify an ARN with a name and a revision numbe */
    ObservabilityConfigurationArn?: string;
}
export interface IngressVpcConfiguration {
    /** The ID of the VPC that is used for the VPC endpoint. */
    VpcId?: string;
    /** The ID of the VPC endpoint that your App Runner service connects to. */
    VpcEndpointId?: string;
}
export interface ListVpcIngressConnectionsFilter {
    /** The Amazon Resource Name (ARN) of a service to filter by. */
    ServiceArn?: string;
    /** The ID of a VPC Endpoint to filter by. */
    VpcEndpointId?: string;
}
export interface AssociateCustomDomainInput {
    /** A custom domain endpoint to associate. Specify a root domain (for example, example.com), a subdomain (for example, login.example.com or admin.login.example.com), or a wildcard (for example, *.example. */
    DomainName: string;
    /** The Amazon Resource Name (ARN) of the App Runner service that you want to associate a custom domain name with. */
    ServiceArn: string;
    /** Set to true to associate the subdomain www.DomainName with the App Runner service in addition to the base domain. Default: true */
    EnableWWWSubdomain?: boolean;
}
export interface CreateAutoScalingConfigurationInput {
    /** A name for the auto scaling configuration. When you use it for the first time in an Amazon Web Services Region, App Runner creates revision number 1 of this name. When you use the same name in subsequ */
    AutoScalingConfigurationName: string;
    /** The maximum number of concurrent requests that you want an instance to process. If the number of concurrent requests exceeds this limit, App Runner scales up your service. Default: 100 */
    MaxConcurrency?: number;
    /** The maximum number of instances that your service scales up to. At most MaxSize instances actively serve traffic for your service. Default: 25 */
    MaxSize?: number;
    /** The minimum number of instances that App Runner provisions for your service. The service always has at least MinSize provisioned instances. Some of them actively serve traffic. The rest of them (provi */
    MinSize?: number;
    /** A list of metadata items that you can associate with your auto scaling configuration resource. A tag is a key-value pair. */
    Tags?: Tag[];
}
export interface CreateConnectionInput {
    /** A name for the new connection. It must be unique across all App Runner connections for the Amazon Web Services account in the Amazon Web Services Region. */
    ConnectionName: string;
    /** The source repository provider. */
    ProviderType: 'GITHUB' | 'BITBUCKET';
    /** A list of metadata items that you can associate with your connection resource. A tag is a key-value pair. */
    Tags?: Tag[];
}
export interface CreateObservabilityConfigurationInput {
    /** A name for the observability configuration. When you use it for the first time in an Amazon Web Services Region, App Runner creates revision number 1 of this name. When you use the same name in subseq */
    ObservabilityConfigurationName: string;
    /** A list of metadata items that you can associate with your observability configuration resource. A tag is a key-value pair. */
    Tags?: Tag[];
    /** The configuration of the tracing feature within this observability configuration. If you don't specify it, App Runner doesn't enable tracing. */
    TraceConfiguration?: TraceConfiguration;
}
export interface CreateServiceInput {
    /** A name for the App Runner service. It must be unique across all the running App Runner services in your Amazon Web Services account in the Amazon Web Services Region. */
    ServiceName: string;
    /** The source to deploy to the App Runner service. It can be a code or an image repository. */
    SourceConfiguration: SourceConfiguration;
    /** The Amazon Resource Name (ARN) of an App Runner automatic scaling configuration resource that you want to associate with your service. If not provided, App Runner associates the latest revision of a d */
    AutoScalingConfigurationArn?: string;
    /** An optional custom encryption key that App Runner uses to encrypt the copy of your source repository that it maintains and your service logs. By default, App Runner uses an Amazon Web Services managed */
    EncryptionConfiguration?: EncryptionConfiguration;
    /** The settings for the health check that App Runner performs to monitor the health of the App Runner service. */
    HealthCheckConfiguration?: HealthCheckConfiguration;
    /** The runtime configuration of instances (scaling units) of your service. */
    InstanceConfiguration?: InstanceConfiguration;
    /** Configuration settings related to network traffic of the web application that the App Runner service runs. */
    NetworkConfiguration?: NetworkConfiguration;
    /** The observability configuration of your service. */
    ObservabilityConfiguration?: ServiceObservabilityConfiguration;
    /** An optional list of metadata items that you can associate with the App Runner service resource. A tag is a key-value pair. */
    Tags?: Tag[];
}
export interface CreateVpcConnectorInput {
    /** A list of IDs of subnets that App Runner should use when it associates your service with a custom Amazon VPC. Specify IDs of subnets of a single Amazon VPC. App Runner determines the Amazon VPC from t */
    Subnets: string[];
    /** A name for the VPC connector. */
    VpcConnectorName: string;
    /** A list of IDs of security groups that App Runner should use for access to Amazon Web Services resources under the specified subnets. If not specified, App Runner uses the default security group of the */
    SecurityGroups?: string[];
    /** A list of metadata items that you can associate with your VPC connector resource. A tag is a key-value pair. */
    Tags?: Tag[];
}
export interface CreateVpcIngressConnectionInput {
    /** Specifications for the customer’s Amazon VPC and the related Amazon Web Services PrivateLink VPC endpoint that are used to create the VPC Ingress Connection resource. */
    IngressVpcConfiguration: IngressVpcConfiguration;
    /** The Amazon Resource Name (ARN) for this App Runner service that is used to create the VPC Ingress Connection resource. */
    ServiceArn: string;
    /** A name for the VPC Ingress Connection resource. It must be unique across all the active VPC Ingress Connections in your Amazon Web Services account in the Amazon Web Services Region. */
    VpcIngressConnectionName: string;
    /** An optional list of metadata items that you can associate with the VPC Ingress Connection resource. A tag is a key-value pair. */
    Tags?: Tag[];
}
export interface DeleteAutoScalingConfigurationInput {
    /** The Amazon Resource Name (ARN) of the App Runner auto scaling configuration that you want to delete. The ARN can be a full auto scaling configuration ARN, or a partial ARN ending with either .../name  */
    AutoScalingConfigurationArn: string;
    /** Set to true to delete all of the revisions associated with the AutoScalingConfigurationArn parameter value. When DeleteAllRevisions is set to true, the only valid value for the Amazon Resource Name (A */
    DeleteAllRevisions?: boolean;
}
export interface DeleteConnectionInput {
    /** The Amazon Resource Name (ARN) of the App Runner connection that you want to delete. */
    ConnectionArn: string;
}
export interface DeleteObservabilityConfigurationInput {
    /** The Amazon Resource Name (ARN) of the App Runner observability configuration that you want to delete. The ARN can be a full observability configuration ARN, or a partial ARN ending with either .../nam */
    ObservabilityConfigurationArn: string;
}
export interface DeleteServiceInput {
    /** The Amazon Resource Name (ARN) of the App Runner service that you want to delete. */
    ServiceArn: string;
}
export interface DeleteVpcConnectorInput {
    /** The Amazon Resource Name (ARN) of the App Runner VPC connector that you want to delete. The ARN must be a full VPC connector ARN. */
    VpcConnectorArn: string;
}
export interface DeleteVpcIngressConnectionInput {
    /** The Amazon Resource Name (ARN) of the App Runner VPC Ingress Connection that you want to delete. */
    VpcIngressConnectionArn: string;
}
export interface DescribeAutoScalingConfigurationInput {
    /** The Amazon Resource Name (ARN) of the App Runner auto scaling configuration that you want a description for. The ARN can be a full auto scaling configuration ARN, or a partial ARN ending with either . */
    AutoScalingConfigurationArn: string;
}
export interface DescribeCustomDomainsInput {
    /** The Amazon Resource Name (ARN) of the App Runner service that you want associated custom domain names to be described for. */
    ServiceArn: string;
    /** The maximum number of results that each response (result page) can include. It's used for a paginated request. If you don't specify MaxResults, the request retrieves all available results in a single  */
    MaxResults?: number;
    /** A token from a previous result page. It's used for a paginated request. The request retrieves the next result page. All other parameter values must be identical to the ones that are specified in the i */
    NextToken?: string;
}
export interface DescribeObservabilityConfigurationInput {
    /** The Amazon Resource Name (ARN) of the App Runner observability configuration that you want a description for. The ARN can be a full observability configuration ARN, or a partial ARN ending with either */
    ObservabilityConfigurationArn: string;
}
export interface DescribeServiceInput {
    /** The Amazon Resource Name (ARN) of the App Runner service that you want a description for. */
    ServiceArn: string;
}
export interface DescribeVpcConnectorInput {
    /** The Amazon Resource Name (ARN) of the App Runner VPC connector that you want a description for. The ARN must be a full VPC connector ARN. */
    VpcConnectorArn: string;
}
export interface DescribeVpcIngressConnectionInput {
    /** The Amazon Resource Name (ARN) of the App Runner VPC Ingress Connection that you want a description for. */
    VpcIngressConnectionArn: string;
}
export interface DisassociateCustomDomainInput {
    /** The domain name that you want to disassociate from the App Runner service. */
    DomainName: string;
    /** The Amazon Resource Name (ARN) of the App Runner service that you want to disassociate a custom domain name from. */
    ServiceArn: string;
}
export interface ListAutoScalingConfigurationsInput {
    /** The name of the App Runner auto scaling configuration that you want to list. If specified, App Runner lists revisions that share this name. If not specified, App Runner returns revisions of all active */
    AutoScalingConfigurationName?: string;
    /** Set to true to list only the latest revision for each requested configuration name. Set to false to list all revisions for each requested configuration name. Default: true */
    LatestOnly?: boolean;
    /** The maximum number of results to include in each response (result page). It's used for a paginated request. If you don't specify MaxResults, the request retrieves all available results in a single res */
    MaxResults?: number;
    /** A token from a previous result page. It's used for a paginated request. The request retrieves the next result page. All other parameter values must be identical to the ones that are specified in the i */
    NextToken?: string;
}
export interface ListConnectionsInput {
    /** If specified, only this connection is returned. If not specified, the result isn't filtered by name. */
    ConnectionName?: string;
    /** The maximum number of results to include in each response (result page). Used for a paginated request. If you don't specify MaxResults, the request retrieves all available results in a single response */
    MaxResults?: number;
    /** A token from a previous result page. Used for a paginated request. The request retrieves the next result page. All other parameter values must be identical to the ones specified in the initial request */
    NextToken?: string;
}
export interface ListObservabilityConfigurationsInput {
    /** Set to true to list only the latest revision for each requested configuration name. Set to false to list all revisions for each requested configuration name. Default: true */
    LatestOnly?: boolean;
    /** The maximum number of results to include in each response (result page). It's used for a paginated request. If you don't specify MaxResults, the request retrieves all available results in a single res */
    MaxResults?: number;
    /** A token from a previous result page. It's used for a paginated request. The request retrieves the next result page. All other parameter values must be identical to the ones that are specified in the i */
    NextToken?: string;
    /** The name of the App Runner observability configuration that you want to list. If specified, App Runner lists revisions that share this name. If not specified, App Runner returns revisions of all activ */
    ObservabilityConfigurationName?: string;
}
export interface ListOperationsInput {
    /** The Amazon Resource Name (ARN) of the App Runner service that you want a list of operations for. */
    ServiceArn: string;
    /** The maximum number of results to include in each response (result page). It's used for a paginated request. If you don't specify MaxResults, the request retrieves all available results in a single res */
    MaxResults?: number;
    /** A token from a previous result page. It's used for a paginated request. The request retrieves the next result page. All other parameter values must be identical to the ones specified in the initial re */
    NextToken?: string;
}
export interface ListServicesInput {
    /** The maximum number of results to include in each response (result page). It's used for a paginated request. If you don't specify MaxResults, the request retrieves all available results in a single res */
    MaxResults?: number;
    /** A token from a previous result page. Used for a paginated request. The request retrieves the next result page. All other parameter values must be identical to the ones specified in the initial request */
    NextToken?: string;
}
export interface ListServicesForAutoScalingConfigurationInput {
    /** The Amazon Resource Name (ARN) of the App Runner auto scaling configuration that you want to list the services for. The ARN can be a full auto scaling configuration ARN, or a partial ARN ending with e */
    AutoScalingConfigurationArn: string;
    /** The maximum number of results to include in each response (result page). It's used for a paginated request. If you don't specify MaxResults, the request retrieves all available results in a single res */
    MaxResults?: number;
    /** A token from a previous result page. It's used for a paginated request. The request retrieves the next result page. All other parameter values must be identical to the ones specified in the initial re */
    NextToken?: string;
}
export interface ListTagsForResourceInput {
    /** The Amazon Resource Name (ARN) of the resource that a tag list is requested for. It must be the ARN of an App Runner resource. */
    ResourceArn: string;
}
export interface ListVpcConnectorsInput {
    /** The maximum number of results to include in each response (result page). It's used for a paginated request. If you don't specify MaxResults, the request retrieves all available results in a single res */
    MaxResults?: number;
    /** A token from a previous result page. It's used for a paginated request. The request retrieves the next result page. All other parameter values must be identical to the ones that are specified in the i */
    NextToken?: string;
}
export interface ListVpcIngressConnectionsInput {
    /** The VPC Ingress Connections to be listed based on either the Service Arn or Vpc Endpoint Id, or both. */
    Filter?: ListVpcIngressConnectionsFilter;
    /** The maximum number of results to include in each response (result page). It's used for a paginated request. If you don't specify MaxResults, the request retrieves all available results in a single res */
    MaxResults?: number;
    /** A token from a previous result page. It's used for a paginated request. The request retrieves the next result page. All other parameter values must be identical to the ones that are specified in the i */
    NextToken?: string;
}
export interface PauseServiceInput {
    /** The Amazon Resource Name (ARN) of the App Runner service that you want to pause. */
    ServiceArn: string;
}
export interface ResumeServiceInput {
    /** The Amazon Resource Name (ARN) of the App Runner service that you want to resume. */
    ServiceArn: string;
}
export interface StartDeploymentInput {
    /** The Amazon Resource Name (ARN) of the App Runner service that you want to manually deploy to. */
    ServiceArn: string;
}
export interface TagResourceInput {
    /** The Amazon Resource Name (ARN) of the resource that you want to update tags for. It must be the ARN of an App Runner resource. */
    ResourceArn: string;
    /** A list of tag key-value pairs to add or update. If a key is new to the resource, the tag is added with the provided value. If a key is already associated with the resource, the value of the tag is upd */
    Tags: Tag[];
}
export interface UntagResourceInput {
    /** The Amazon Resource Name (ARN) of the resource that you want to remove tags from. It must be the ARN of an App Runner resource. */
    ResourceArn: string;
    /** A list of tag keys that you want to remove. */
    TagKeys: string[];
}
export interface UpdateDefaultAutoScalingConfigurationInput {
    /** The Amazon Resource Name (ARN) of the App Runner auto scaling configuration that you want to set as the default. The ARN can be a full auto scaling configuration ARN, or a partial ARN ending with eith */
    AutoScalingConfigurationArn: string;
}
export interface UpdateServiceInput {
    /** The Amazon Resource Name (ARN) of the App Runner service that you want to update. */
    ServiceArn: string;
    /** The Amazon Resource Name (ARN) of an App Runner automatic scaling configuration resource that you want to associate with the App Runner service. */
    AutoScalingConfigurationArn?: string;
    /** The settings for the health check that App Runner performs to monitor the health of the App Runner service. */
    HealthCheckConfiguration?: HealthCheckConfiguration;
    /** The runtime configuration to apply to instances (scaling units) of your service. */
    InstanceConfiguration?: InstanceConfiguration;
    /** Configuration settings related to network traffic of the web application that the App Runner service runs. */
    NetworkConfiguration?: NetworkConfiguration;
    /** The observability configuration of your service. */
    ObservabilityConfiguration?: ServiceObservabilityConfiguration;
    /** The source configuration to apply to the App Runner service. You can change the configuration of the code or image repository that the service uses. However, you can't switch from code to image or the */
    SourceConfiguration?: SourceConfiguration;
}
export interface UpdateVpcIngressConnectionInput {
    /** Specifications for the customer’s Amazon VPC and the related Amazon Web Services PrivateLink VPC endpoint that are used to update the VPC Ingress Connection resource. */
    IngressVpcConfiguration: IngressVpcConfiguration;
    /** The Amazon Resource Name (Arn) for the App Runner VPC Ingress Connection resource that you want to update. */
    VpcIngressConnectionArn: string;
}
/** AppRunner service binding for Step Functions SDK integrations. */
export declare class AppRunner {
    constructor();
    associateCustomDomain<T>(params: AssociateCustomDomainInput): Promise<T>;
    createAutoScalingConfiguration<T>(params: CreateAutoScalingConfigurationInput): Promise<T>;
    createConnection<T>(params: CreateConnectionInput): Promise<T>;
    createObservabilityConfiguration<T>(params: CreateObservabilityConfigurationInput): Promise<T>;
    createService<T>(params: CreateServiceInput): Promise<T>;
    createVpcConnector<T>(params: CreateVpcConnectorInput): Promise<T>;
    createVpcIngressConnection<T>(params: CreateVpcIngressConnectionInput): Promise<T>;
    deleteAutoScalingConfiguration<T>(params: DeleteAutoScalingConfigurationInput): Promise<T>;
    deleteConnection<T>(params: DeleteConnectionInput): Promise<T>;
    deleteObservabilityConfiguration<T>(params: DeleteObservabilityConfigurationInput): Promise<T>;
    deleteService<T>(params: DeleteServiceInput): Promise<T>;
    deleteVpcConnector<T>(params: DeleteVpcConnectorInput): Promise<T>;
    deleteVpcIngressConnection<T>(params: DeleteVpcIngressConnectionInput): Promise<T>;
    describeAutoScalingConfiguration<T>(params: DescribeAutoScalingConfigurationInput): Promise<T>;
    describeCustomDomains<T>(params: DescribeCustomDomainsInput): Promise<T>;
    describeObservabilityConfiguration<T>(params: DescribeObservabilityConfigurationInput): Promise<T>;
    describeService<T>(params: DescribeServiceInput): Promise<T>;
    describeVpcConnector<T>(params: DescribeVpcConnectorInput): Promise<T>;
    describeVpcIngressConnection<T>(params: DescribeVpcIngressConnectionInput): Promise<T>;
    disassociateCustomDomain<T>(params: DisassociateCustomDomainInput): Promise<T>;
    listAutoScalingConfigurations<T>(params: ListAutoScalingConfigurationsInput): Promise<T>;
    listConnections<T>(params: ListConnectionsInput): Promise<T>;
    listObservabilityConfigurations<T>(params: ListObservabilityConfigurationsInput): Promise<T>;
    listOperations<T>(params: ListOperationsInput): Promise<T>;
    listServices<T>(params: ListServicesInput): Promise<T>;
    listServicesForAutoScalingConfiguration<T>(params: ListServicesForAutoScalingConfigurationInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    listVpcConnectors<T>(params: ListVpcConnectorsInput): Promise<T>;
    listVpcIngressConnections<T>(params: ListVpcIngressConnectionsInput): Promise<T>;
    pauseService<T>(params: PauseServiceInput): Promise<T>;
    resumeService<T>(params: ResumeServiceInput): Promise<T>;
    startDeployment<T>(params: StartDeploymentInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateDefaultAutoScalingConfiguration<T>(params: UpdateDefaultAutoScalingConfigurationInput): Promise<T>;
    updateService<T>(params: UpdateServiceInput): Promise<T>;
    updateVpcIngressConnection<T>(params: UpdateVpcIngressConnectionInput): Promise<T>;
}
//# sourceMappingURL=AppRunner.d.ts.map