import { Value } from '../../cloudformation/Value';
import { PolicyDocument } from '../../cloudformation/iam/PolicyDocument';
import { Tag } from '../Tag';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type RepositoryAttributes = {
    DomainName: Attribute<string>;
    Arn: Attribute<string>;
    DomainOwner: Attribute<string>;
    Name: Attribute<string>;
};
export type Repository = AwsResource<'AWS::CodeArtifact::Repository', RepositoryProperties, RepositoryAttributes>;
/**
  The <code>AWS::CodeArtifact::Repository</code> resource creates an AWS CodeArtifact repository. CodeArtifact <em>repositories</em> contain a set of package versions. For more information about repositories, see the <a href="https://docs.aws.amazon.com/codeartifact/latest/ug/codeartifact-concepts.html#welcome-concepts-repository">Repository concepts information</a> in the <em>CodeArtifact User Guide</em>. For more information about the <code>CreateRepository</code> API, see <a href="https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_CreateRepository.html">CreateRepository</a> in the <em>CodeArtifact API Reference</em>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-repository.html">the AWS Docs</a>
*/
export declare function repository(repositoryProps: RepositoryProperties): Repository;
/**
  The <code>AWS::CodeArtifact::Repository</code> resource creates an AWS CodeArtifact repository. CodeArtifact <em>repositories</em> contain a set of package versions. For more information about repositories, see the <a href="https://docs.aws.amazon.com/codeartifact/latest/ug/codeartifact-concepts.html#welcome-concepts-repository">Repository concepts information</a> in the <em>CodeArtifact User Guide</em>. For more information about the <code>CreateRepository</code> API, see <a href="https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_CreateRepository.html">CreateRepository</a> in the <em>CodeArtifact API Reference</em>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-repository.html">the AWS Docs</a>
*/
export interface RepositoryProperties {
    /** <code>Description</code>  <a name="cfn-codeartifact-repository-description"></a>
  A text description of the repository.<br />
  
  Required: No<br />
  
  Maximum: <code>1000</code><br />
  
  Pattern: <code>\P{C}*</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    description?: Value<string>;
    /** <code>PermissionsPolicyDocument</code>  <a name="cfn-codeartifact-repository-permissionspolicydocument"></a>
  The document that defines the resource policy that is set on a repository.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    permissionsPolicyDocument?: Value<PolicyDocument>;
    /** <code>DomainName</code>  <a name="cfn-codeartifact-repository-domainname"></a>
  The name of the domain that contains the repository.<br />
  
  Required: Yes<br />
  
  Minimum: <code>2</code><br />
  
  Maximum: <code>50</code><br />
  
  Pattern: <code>[a-z][a-z0-9\-]{0,48}[a-z0-9]</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    domainName: Value<string>;
    /** <code>Upstreams</code>  <a name="cfn-codeartifact-repository-upstreams"></a>
  A list of upstream repositories to associate with the repository. The order of the upstream repositories in the list determines their priority order when AWS CodeArtifact looks for a requested package version. For more information, see <a href="https://docs.aws.amazon.com/codeartifact/latest/ug/repos-upstream.html">Working with upstream repositories</a>.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    upstreams?: Value<Value<string>[]>;
    /** <code>RepositoryName</code>  <a name="cfn-codeartifact-repository-repositoryname"></a>
  The name of an upstream repository.<br />
  
  Required: Yes<br />
  
  Minimum: <code>2</code><br />
  
  Maximum: <code>100</code><br />
  
  Pattern: <code>[A-Za-z0-9][A-Za-z0-9._\-]{1,99}</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    repositoryName: Value<string>;
    /** <code>ExternalConnections</code>  <a name="cfn-codeartifact-repository-externalconnections"></a>
  An array of external connections associated with the repository.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    externalConnections?: Value<Value<string>[]>;
    /** <code>Tags</code>  <a name="cfn-codeartifact-repository-tags"></a>
  A list of tags to be applied to the repository.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    tags?: Tag[];
    /** <code>DomainOwner</code>  <a name="cfn-codeartifact-repository-domainowner"></a>
  The 12-digit account number of the AWS account that owns the domain that contains the repository. It does not include dashes or spaces.<br />
  
  Required: No<br />
  
  Minimum: <code>12</code><br />
  
  Maximum: <code>12</code><br />
  
  Pattern: <code>[0-9]{12}</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    domainOwner?: Value<string>;
}
