{ "type": "interface",
  "qname": "mx.styles.IStyleClient",
"baseInterfaceNames": [
"mx.styles.ISimpleStyleClient"]
,
    "description": "This interface describes the properties and methods that an object must implement so that it can fully participate in the style subsystem. This interface is implemented by UIComponent.  <p>If the object does not need to store style values locally, it can implement the <code>ISimpleStyleClient</code> interface instead.</p>",
  "tags": [
  {  "tagName": "see",
         "values": ["mx.styles.ISimpleStyleClient", "mx.styles.CSSStyleDeclaration"]},
      {  "tagName": "playerversion",
         "values": ["Flash 9", "AIR 1.1"]},
      {  "tagName": "productversion",
         "values": ["Flex 3"]},
      {  "tagName": "langversion",
         "values": ["3.0"]}  ],
  "members": [
  { "type": "accessor",
    "access": "read-only",
    "return": "String",
    "qname": "className",
    "namespace": "public",
    "bindable": [],
    "details": [],
    "deprecated": {},
      "description": "The name of the component class.",
    "tags": [
    {  "tagName": "playerversion",
           "values": ["Flash 9", "AIR 1.1"]},
        {  "tagName": "productversion",
           "values": ["Flex 3"]},
        {  "tagName": "langversion",
           "values": ["3.0"]}  ]},
  { "type": "method",
    "qname": "getStyle",
    "namespace": "public",
    "bindable": [],
    "details": [],
    "deprecated": {},
      "description": "Gets a style property that has been set anywhere in this component's style lookup chain.  <p>This same method is used to get any kind of style property, so the value returned may be a Boolean, String, Number, int, uint (for an RGB color), Class (for a skin), or any kind of object. Therefore the return type is specified as ~~.</p>  <p>If you are getting a particular style property, you will know its type and will often want to store the result in a variable of that type. You can use either the <code>as</code> operator or coercion to do this. For example:</p>  <pre>\\n var backgroundColor:uint = getStyle(&quot;backgroundColor&quot;) as int;\\n \\n or\\n \\n var backgroundColor:uint = int(getStyle(&quot;backgroundColor&quot;));\\n </pre>  <p>If the style property has not been set anywhere in the style lookup chain, the value returned by the <code>getStyle()</code> method is <code>undefined</code>. Note that <code>undefined</code> is a special value that is not the same as <code>false</code>, the empty String (<code>&quot;&quot;</code>), <code>NaN</code>, 0, or <code>null</code>. No valid style value is ever <code>undefined</code>. You can use the static method <code>StyleManager.isValidStyleValue()</code> to test whether the value was set.</p>",
    "tags": [
    {  "tagName": "param",
           "values": ["styleProp Name of the style property."]},
        {  "tagName": "playerversion",
           "values": ["Flash 9", "AIR 1.1"]},
        {  "tagName": "productversion",
           "values": ["Flex 3"]},
        {  "tagName": "return",
           "values": ["Style value."]},
        {  "tagName": "langversion",
           "values": ["3.0"]}  ],
      "return": "*",
      "params": [{ "name": "styleProp", "type": "String"}]}
  ]
  }
