/**
 * @mergeTarget
 * @module Src/Core/Components
 */
import { LisioCSSRules } from "../engine-types";
/**
 * ## How to stylized component ?
 *
 * First of all you need to create a LisioCSSRule object :
 * ```
 *  const textStyles: LisioCSSRules = {
 *    "p" : {
 *      "font-size": "12px"
 *    }
 * }
 * ```
 * You can also make media queries :
 * ```
 *  const textStyles: LisioCSSRules = {
 *    "p" : {
 *      "font-size": "12px"
 *    }
 *
 *    "@media screen and (max-width : 389px)": {
 *      "p": {
 *        "font-size": "14px"
 *      }
 *    }
 * }
 * ```
 * And in your component file add class {@link LisioComponentStyles}
 * ```
 *  class Text extends LisioComponent{
 *    render(hasToLoadAssests: boolean){
 *      "<p>I'm a paragraph</p>";
 *    }
 * }
 *
 *  new LisioComponentStyles(Text.name, textStyles);
 * ```
 *
 * ## Documentation
 * Class representing a lisio component styles.\
 * It aims to affect style to component.\
 * If something need to be affected to styles it has to use this class.\
 * To execute his responsability this class provides :
 *  * Static method to convert hex color to rgb component
 *  * Wait for engine loading to cache styles
 */
declare class LisioComponentStyles {
    /**
     * @static
     * Public method to convert hex color to rgb component color
     * @param {string} color - Hex color to convert
     * @returns Returns red, green adn blue component of hex color
     * @source
     */
    static convertHexToRGB(color: string): number[];
    /**
     * Constructor of class {@link LisioComponentStyles | LisioComponentStyles}
     * @param {string} componentName - Component name
     * @param {LisioCSSRules} rules - CSS styles
     * @source
     */
    constructor(componentName: string, rules: LisioCSSRules);
}
export { LisioComponentStyles };
