 
 import flash.events.IEventDispatcher;
 
-[ExcludeClass]
-
 /**
- *  @private
+ *  The IStyleManager class manages the following:
+ *  <ul>
+ *    <li>Which CSS style properties the class inherits</li>
+ *    <li>Which style properties are colors, and therefore get special handling</li>
+ *    <li>A list of strings that are aliases for color values</li>
+ *  </ul>
+ *
  *  This interface was used by Flex 2.0.1.
  *  Flex 3 now uses IStyleManager2 instead.
+ *
+ *  @see mx.styles.CSSStyleDeclaration
+ *  
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 2.0.1
+ *  
  */
 public interface IStyleManager
 {

    //
    //--------------------------------------------------------------------------

	function getStyleDeclaration(selector:String):CSSStyleDeclaration;
	
	function setStyleDeclaration(selector:String,
								styleDeclaration:CSSStyleDeclaration,
								update:Boolean):void;
	
	function clearStyleDeclaration(selector:String, update:Boolean):void;
	
	function registerInheritingStyle(styleName:String):void;
	
	function isInheritingStyle(styleName:String):Boolean;
	
	function isInheritingTextFormatStyle(styleName:String):Boolean;
	
	function registerSizeInvalidatingStyle(styleName:String):void;
	
	function isSizeInvalidatingStyle(styleName:String):Boolean;
	
	function registerParentSizeInvalidatingStyle(styleName:String):void;
	
	function isParentSizeInvalidatingStyle(styleName:String):Boolean;
	
	function registerParentDisplayListInvalidatingStyle(styleName:String):void;
	
	function isParentDisplayListInvalidatingStyle(styleName:String):Boolean;
	
	function registerColorName(colorName:String, colorValue:uint):void;
	
	function isColorName(colorName:String):Boolean;
	
	function getColorName(colorName:Object):uint;
	
	function getColorNames(colors:Array /* of Number or String */):void;
	
	function isValidStyleValue(value:*):Boolean;
    
	function loadStyleDeclarations(
					url:String, update:Boolean = true,
					trustContent:Boolean = false):IEventDispatcher;
    
	function unloadStyleDeclarations(
					url:String, update:Boolean = true):void;

	function initProtoChainRoots():void;
	
	function styleDeclarationsChanged():void;
}


	//  inheritingStyles
    //----------------------------------

    /**
     *  @private
     *  Set of inheriting non-color styles.
     *  This is not the complete set from CSS.
     *  Some of the omitted we don't support at all,
     *  others may be added later as needed.
     *  The method registerInheritingStyle() adds to this set
     *  and isInheritingStyle() queries this set.
     */
	function get inheritingStyles():Object;

    /**
     *  @private
     */
	function set inheritingStyles(value:Object):void;

    //----------------------------------
	//  stylesRoot
    //----------------------------------

    /**
     *  @private
     *  The root of all proto chains used for looking up styles.
     *  This object is initialized once by initProtoChainRoots() and
     *  then updated by calls to setStyle() on the global CSSStyleDeclaration.
     *  It is accessed by code that needs to construct proto chains,
     *  such as the initProtoChain() method of UIComponent.
     */
	function get stylesRoot():Object;

    /**
     *  @private
     */
    function set stylesRoot(value:Object):void;

    //----------------------------------
	//  typeSelectorCache
    //----------------------------------

    /**
     *  @private
     */
	function get typeSelectorCache():Object;

    /**
     *  @private
     */
    function set typeSelectorCache(value:Object):void;

    //--------------------------------------------------------------------------
    //
