import { Value } from '../../cloudformation/Value';
import { RepositoryTriggerProps } from './repository/RepositoryTriggerProps';
import { CodeProps } from './repository/CodeProps';
import { Tag } from '../Tag';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type RepositoryAttributes = {
    CloneUrlHttp: Attribute<string>;
    CloneUrlSsh: Attribute<string>;
    Arn: Attribute<string>;
    Name: Attribute<string>;
};
export type Repository = AwsResource<'AWS::CodeCommit::Repository', RepositoryProperties, RepositoryAttributes>;
/**
  Creates a new, empty repository.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codecommit-repository.html">the AWS Docs</a>
*/
export declare function repository(repositoryProps: RepositoryProperties): Repository;
/**
  Creates a new, empty repository.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codecommit-repository.html">the AWS Docs</a>
*/
export interface RepositoryProperties {
    /** <code>RepositoryName</code>  <a name="cfn-codecommit-repository-repositoryname"></a>
  The name of the new repository to be created.<br />
  The repository name must be unique across the calling AWS account. Repository names are limited to 100 alphanumeric, dash, and underscore characters, and cannot include certain characters. For more information about the limits on repository names, see <a href="https://docs.aws.amazon.com/codecommit/latest/userguide/limits.html">Quotas</a> in the * AWS CodeCommit User Guide*. The suffix .git is prohibited.
  
  Required: Yes<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>100</code><br />
  
  Pattern: <code>[\w\.-]+</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> */
    repositoryName: Value<string>;
    /** <code>Triggers</code>  <a name="cfn-codecommit-repository-triggers"></a>
  The JSON block of configuration information for each trigger.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt">Some interruptions</a> */
    triggers?: RepositoryTriggerProps[];
    /** <code>Code</code>  <a name="cfn-codecommit-repository-code"></a>
  Information about code to be committed to a repository after it is created in an AWS CloudFormation stack. Information about code is only used in resource creation. Updates to a stack will not reflect changes made to code properties after initial resource creation.<br />
  You can only use this property to add code when creating a repository with a AWS CloudFormation template at creation time. This property cannot be used for updating code to an existing repository.
  
  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> */
    code?: CodeProps;
    /** <code>RepositoryDescription</code>  <a name="cfn-codecommit-repository-repositorydescription"></a>
  A comment or description about the new repository.<br />
  The description field for a repository accepts all HTML characters and all valid Unicode characters. Applications that do not HTML-encode the description and display it in a webpage can expose users to potentially malicious code. Make sure that you HTML-encode the description field in any application that uses this API to display the repository description on a webpage.
  
  Required: No<br />
  
  Maximum: <code>1000</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> */
    repositoryDescription?: Value<string>;
    /** <code>Tags</code>  <a name="cfn-codecommit-repository-tags"></a>
  One or more tag key-value pairs to use when tagging this 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[];
}
