import { Value } from '../../cloudformation/Value';
import { AnalysisParameterProps } from './analysistemplate/AnalysisParameterProps';
import { AnalysisSourceProps } from './analysistemplate/AnalysisSourceProps';
import { Tag } from '../Tag';
import { AnalysisSchemaProps } from './analysistemplate/AnalysisSchemaProps';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type AnalysisTemplateAttributes = {
    CollaborationIdentifier: Attribute<string>;
    Schema_ReferencedTables: Attribute<string[]>;
    MembershipArn: Attribute<string>;
    Schema: Attribute<AnalysisSchemaProps>;
    Arn: Attribute<string>;
    CollaborationArn: Attribute<string>;
    AnalysisTemplateIdentifier: Attribute<string>;
};
export type AnalysisTemplate = AwsResource<'AWS::CleanRooms::AnalysisTemplate', AnalysisTemplateProperties, AnalysisTemplateAttributes>;
/**
  Creates a new analysis template.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-analysistemplate.html">the AWS Docs</a>
*/
export declare function analysisTemplate(analysisTemplateProps: AnalysisTemplateProperties): AnalysisTemplate;
/**
  Creates a new analysis template.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cleanrooms-analysistemplate.html">the AWS Docs</a>
*/
export interface AnalysisTemplateProperties {
    /** <code>MembershipIdentifier</code>  <a name="cfn-cleanrooms-analysistemplate-membershipidentifier"></a>
  The identifier for a membership resource.<br />
  
  Required: Yes<br />
  
  Minimum: <code>36</code><br />
  
  Maximum: <code>36</code><br />
  
  Pattern: <code>.*[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{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> */
    membershipIdentifier: Value<string>;
    /** <code>Description</code>  <a name="cfn-cleanrooms-analysistemplate-description"></a>
  The description of the analysis template.<br />
  
  Required: No<br />
  
  Minimum: <code>0</code><br />
  
  Maximum: <code>255</code><br />
  
  Pattern: <code>[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDBFF-\uDC00\uDFFF\t\r\n]*</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>Format</code>  <a name="cfn-cleanrooms-analysistemplate-format"></a>
  The format of the analysis template.<br />
  
  Required: Yes<br />
  
  Allowed values: <code>SQL</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> */
    format: Value<'SQL'>;
    /** <code>AnalysisParameters</code>  <a name="cfn-cleanrooms-analysistemplate-analysisparameters"></a>
  The parameters of the analysis template.<br />
  
  Required: No<br />
  
  Maximum: <code>10</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> */
    analysisParameters?: AnalysisParameterProps[];
    /** <code>Source</code>  <a name="cfn-cleanrooms-analysistemplate-source"></a>
  The source of the analysis template.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    source: AnalysisSourceProps;
    /** <code>Tags</code>  <a name="cfn-cleanrooms-analysistemplate-tags"></a>
  An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.<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>Name</code>  <a name="cfn-cleanrooms-analysistemplate-name"></a>
  The name of the analysis template.<br />
  
  Required: Yes<br />
  
  Minimum: <code>0</code><br />
  
  Maximum: <code>128</code><br />
  
  Pattern: <code>[a-zA-Z0-9_](([a-zA-Z0-9_ ]+-)*([a-zA-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> */
    name: Value<string>;
}
