import { TableResourceProps } from './TableResourceProps';
import { DatabaseResourceProps } from './DatabaseResourceProps';
import { DataLocationResourceProps } from './DataLocationResourceProps';
import { TableWithColumnsResourceProps } from './TableWithColumnsResourceProps';
/**
  A structure for the resource.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-resource.html">the AWS Docs</a>
*/
export interface ResourceProps {
    /** <code>TableResource</code>  <a name="cfn-lakeformation-permissions-resource-tableresource"></a>
  A structure for the table object. A table is a metadata definition that represents your data. You can Grant and Revoke table privileges to a principal.<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> */
    tableResource?: TableResourceProps;
    /** <code>DatabaseResource</code>  <a name="cfn-lakeformation-permissions-resource-databaseresource"></a>
  A structure for the database object.<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> */
    databaseResource?: DatabaseResourceProps;
    /** <code>DataLocationResource</code>  <a name="cfn-lakeformation-permissions-resource-datalocationresource"></a>
  A structure for a data location object where permissions are granted or revoked.<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> */
    dataLocationResource?: DataLocationResourceProps;
    /** <code>TableWithColumnsResource</code>  <a name="cfn-lakeformation-permissions-resource-tablewithcolumnsresource"></a>
  A structure for a table with columns object. This object is only used when granting a SELECT permission.<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> */
    tableWithColumnsResource?: TableWithColumnsResourceProps;
}
