import { TableInputProps } from './table/TableInputProps';
import { OpenTableFormatInputProps } from './table/OpenTableFormatInputProps';
import { Value } from '../../cloudformation/Value';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
/**
  The <code>AWS::Glue::Table</code> resource specifies tabular data in the AWS Glue data catalog. For more information, see <a href="https://docs.aws.amazon.com/glue/latest/dg/tables-described.html">Defining Tables in the AWS Glue Data Catalog</a> and <a href="https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-tables.html#aws-glue-api-catalog-tables-Table">Table Structure </a> in the <em>AWS Glue Developer Guide</em>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-table.html">the AWS Docs</a>
*/
export type Table = AwsResource<'AWS::Glue::Table', TableProperties>;
export declare function table(tableProps: TableProperties): Table;
/**
  The <code>AWS::Glue::Table</code> resource specifies tabular data in the AWS Glue data catalog. For more information, see <a href="https://docs.aws.amazon.com/glue/latest/dg/tables-described.html">Defining Tables in the AWS Glue Data Catalog</a> and <a href="https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-tables.html#aws-glue-api-catalog-tables-Table">Table Structure </a> in the <em>AWS Glue Developer Guide</em>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-table.html">the AWS Docs</a>
*/
export interface TableProperties {
    /** <code>TableInput</code>  <a name="cfn-glue-table-tableinput"></a>
  A structure used to define a table.<br />
  
  Required: Yes<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> */
    tableInput: TableInputProps;
    /** <code>OpenTableFormatInput</code>  <a name="cfn-glue-table-opentableformatinput"></a>
  Property description not available.<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> */
    openTableFormatInput?: OpenTableFormatInputProps;
    /** <code>DatabaseName</code>  <a name="cfn-glue-table-databasename"></a>
  The name of the database where the table metadata resides. For Hive compatibility, this must be all lowercase.<br />
  
  Required: Yes<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>255</code><br />
  
  Pattern: <code>[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*</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> */
    databaseName: Value<string>;
    /** <code>CatalogId</code>  <a name="cfn-glue-table-catalogid"></a>
  The ID of the Data Catalog in which to create the <code>Table</code>.<br />
  
  Required: Yes<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>255</code><br />
  
  Pattern: <code>[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*</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> */
    catalogId: Value<string>;
}
