import { Value } from '../../cloudformation/Value';
import { RetentionPropertiesProps } from './table/RetentionPropertiesProps';
import { SchemaProps } from './table/SchemaProps';
import { Tag } from '../Tag';
import { MagneticStoreWritePropertiesProps } from './table/MagneticStoreWritePropertiesProps';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type TableAttributes = {
    Arn: Attribute<string>;
    Name: Attribute<string>;
};
export type Table = AwsResource<'AWS::Timestream::Table', TableProperties, TableAttributes>;
/**
  The CreateTable operation adds a new table to an existing database in your account. In an AWS account, table names must be at least unique within each Region if they are in the same database. You may have identical table names in the same Region if the tables are in separate databases. While creating the table, you must specify the table name, database name, and the retention properties. <a href="https://docs.aws.amazon.com/timestream/latest/developerguide/ts-limits.html">Service quotas apply</a>. See <a href="https://docs.aws.amazon.com/timestream/latest/developerguide/code-samples.create-table.html">code sample</a> for details.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-table.html">the AWS Docs</a>
*/
export declare function table(tableProps: TableProperties): Table;
/**
  The CreateTable operation adds a new table to an existing database in your account. In an AWS account, table names must be at least unique within each Region if they are in the same database. You may have identical table names in the same Region if the tables are in separate databases. While creating the table, you must specify the table name, database name, and the retention properties. <a href="https://docs.aws.amazon.com/timestream/latest/developerguide/ts-limits.html">Service quotas apply</a>. See <a href="https://docs.aws.amazon.com/timestream/latest/developerguide/code-samples.create-table.html">code sample</a> for details.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-table.html">the AWS Docs</a>
*/
export interface TableProperties {
    /** <code>TableName</code>  <a name="cfn-timestream-table-tablename"></a>
  The name of the Timestream table.<br />
  
  Length Constraints: Minimum length of 3 bytes. Maximum length of 256 bytes.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    tableName?: Value<string>;
    /** <p> */
    retentionProperties?: RetentionPropertiesProps;
    /** <code>Schema</code>  <a name="cfn-timestream-table-schema"></a>
  The schema of the table.<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> */
    schema?: SchemaProps;
    /** <code>DatabaseName</code>  <a name="cfn-timestream-table-databasename"></a>
  The name of the Timestream database that contains this table.<br />
  
  Length Constraints: Minimum length of 3 bytes. Maximum length of 256 bytes.<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> */
    databaseName: Value<string>;
    /** <code>Tags</code>  <a name="cfn-timestream-table-tags"></a>
  The tags to add to the table<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[];
    /** <p> */
    magneticStoreWriteProperties?: MagneticStoreWritePropertiesProps;
}
