import { Value } from '../../../cloudformation/Value';
import { FreeFormLayoutElementBorderStyleProps } from './FreeFormLayoutElementBorderStyleProps';
import { SheetElementRenderingRuleProps } from './SheetElementRenderingRuleProps';
import { LoadingAnimationProps } from './LoadingAnimationProps';
import { FreeFormLayoutElementBackgroundStyleProps } from './FreeFormLayoutElementBackgroundStyleProps';
/**
  An element within a free-form layout.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-dashboard-freeformlayoutelement.html">the AWS Docs</a>
*/
export interface FreeFormLayoutElementProps {
    /** <code>ElementType</code>  <a name="cfn-quicksight-dashboard-freeformlayoutelement-elementtype"></a>
  The type of element.<br />
  
  Required: Yes<br />
  
  Allowed values: <code>FILTER_CONTROL | PARAMETER_CONTROL | TEXT_BOX | VISUAL</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> */
    elementType: Value<'FILTER_CONTROL' | 'PARAMETER_CONTROL' | 'TEXT_BOX' | 'VISUAL'>;
    /** <code>BorderStyle</code>  <a name="cfn-quicksight-dashboard-freeformlayoutelement-borderstyle"></a>
  The border style configuration of a free-form layout element.<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> */
    borderStyle?: FreeFormLayoutElementBorderStyleProps;
    /** <code>Height</code>  <a name="cfn-quicksight-dashboard-freeformlayoutelement-height"></a>
  The height of an element within a free-form layout.<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> */
    height: Value<string>;
    /** <code>Visibility</code>  <a name="cfn-quicksight-dashboard-freeformlayoutelement-visibility"></a>
  The visibility of an element within a free-form layout.<br />
  
  Required: No<br />
  
  Allowed values: <code>HIDDEN | VISIBLE</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> */
    visibility?: Value<'HIDDEN' | 'VISIBLE'>;
    /** <code>RenderingRules</code>  <a name="cfn-quicksight-dashboard-freeformlayoutelement-renderingrules"></a>
  The rendering rules that determine when an element should be displayed within a free-form layout.<br />
  
  Required: No<br />
  
  Maximum: <code>10000</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> */
    renderingRules?: SheetElementRenderingRuleProps[];
    /** <code>YAxisLocation</code>  <a name="cfn-quicksight-dashboard-freeformlayoutelement-yaxislocation"></a>
  The y-axis coordinate of the element.<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> */
    yAxisLocation: Value<string>;
    /** <code>LoadingAnimation</code>  <a name="cfn-quicksight-dashboard-freeformlayoutelement-loadinganimation"></a>
  The loading animation configuration of a free-form layout element.<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> */
    loadingAnimation?: LoadingAnimationProps;
    /** <code>Width</code>  <a name="cfn-quicksight-dashboard-freeformlayoutelement-width"></a>
  The width of an element within a free-form layout.<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> */
    width: Value<string>;
    /** <code>BackgroundStyle</code>  <a name="cfn-quicksight-dashboard-freeformlayoutelement-backgroundstyle"></a>
  The background style configuration of a free-form layout element.<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> */
    backgroundStyle?: FreeFormLayoutElementBackgroundStyleProps;
    /** <code>ElementId</code>  <a name="cfn-quicksight-dashboard-freeformlayoutelement-elementid"></a>
  A unique identifier for an element within a free-form layout.<br />
  
  Required: Yes<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>512</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> */
    elementId: Value<string>;
    /** <code>XAxisLocation</code>  <a name="cfn-quicksight-dashboard-freeformlayoutelement-xaxislocation"></a>
  The x-axis coordinate of the element.<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> */
    xAxisLocation: Value<string>;
    /** <code>SelectedBorderStyle</code>  <a name="cfn-quicksight-dashboard-freeformlayoutelement-selectedborderstyle"></a>
  The border style configuration of a free-form layout element. This border style is used when the element is selected.<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> */
    selectedBorderStyle?: FreeFormLayoutElementBorderStyleProps;
}
