import { ComponentConditionPropertyProps } from './ComponentConditionPropertyProps';
import { Value } from '../../../cloudformation/Value';
import { ComponentPropertyBindingPropertiesProps } from './ComponentPropertyBindingPropertiesProps';
import { FormBindingElementProps } from './FormBindingElementProps';
/**
  The <code>ComponentProperty</code> property specifies the configuration for all of a component’s properties. Use <code>ComponentProperty</code> to specify the values to render or bind by default.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplifyuibuilder-component-componentproperty.html">the AWS Docs</a>
*/
export interface ComponentPropertyProps {
    /** <code>Condition</code>  <a name="cfn-amplifyuibuilder-component-componentproperty-condition"></a>
  The conditional expression to use to assign a value to the component property.<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> */
    condition?: ComponentConditionPropertyProps;
    /** <code>UserAttribute</code>  <a name="cfn-amplifyuibuilder-component-componentproperty-userattribute"></a>
  An authenticated user attribute to use to assign a value to the component property.<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> */
    userAttribute?: Value<string>;
    /** <code>ImportedValue</code>  <a name="cfn-amplifyuibuilder-component-componentproperty-importedvalue"></a>
  The default value assigned to the property when the component is imported into an app.<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> */
    importedValue?: Value<string>;
    /** <code>BindingProperties</code>  <a name="cfn-amplifyuibuilder-component-componentproperty-bindingproperties"></a>
  The information to bind the component property to data at runtime.<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> */
    bindingProperties?: ComponentPropertyBindingPropertiesProps;
    /** <code>Bindings</code>  <a name="cfn-amplifyuibuilder-component-componentproperty-bindings"></a>
  The information to bind the component property to form data.<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> */
    bindings?: {
        [key: string]: FormBindingElementProps;
    };
    /** <code>Configured</code>  <a name="cfn-amplifyuibuilder-component-componentproperty-configured"></a>
  Specifies whether the user configured the property in Amplify Studio after importing it.<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> */
    configured?: Value<boolean>;
    /** <code>Concat</code>  <a name="cfn-amplifyuibuilder-component-componentproperty-concat"></a>
  A list of component properties to concatenate to create the value to assign to this component property.<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> */
    concat?: ComponentPropertyProps[];
    /** <code>DefaultValue</code>  <a name="cfn-amplifyuibuilder-component-componentproperty-defaultvalue"></a>
  The default value to assign to the component property.<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> */
    defaultValue?: Value<string>;
    /** <code>Type</code>  <a name="cfn-amplifyuibuilder-component-componentproperty-type"></a>
  The component type.<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> */
    type?: Value<string>;
    /** <code>Value</code>  <a name="cfn-amplifyuibuilder-component-componentproperty-value"></a>
  The value to assign to the component property.<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> */
    value?: Value<string>;
    /** <code>Model</code>  <a name="cfn-amplifyuibuilder-component-componentproperty-model"></a>
  The data model to use to assign a value to the component property.<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> */
    model?: Value<string>;
    /** <code>CollectionBindingProperties</code>  <a name="cfn-amplifyuibuilder-component-componentproperty-collectionbindingproperties"></a>
  The information to bind the component property to data at runtime. Use this for collection components.<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> */
    collectionBindingProperties?: ComponentPropertyBindingPropertiesProps;
    /** <code>Event</code>  <a name="cfn-amplifyuibuilder-component-componentproperty-event"></a>
  An event that occurs in your app. Use this for workflow data binding.<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> */
    event?: Value<string>;
    /** <code>ComponentName</code>  <a name="cfn-amplifyuibuilder-component-componentproperty-componentname"></a>
  The name of the component that is affected by an event.<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> */
    componentName?: Value<string>;
    /** <code>Property</code>  <a name="cfn-amplifyuibuilder-component-componentproperty-property"></a>
  The name of the component’s property that is affected by an event.<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> */
    property?: Value<string>;
}
