import { StylesheetMap } from '../stylesheet-map/stylesheet-map';
import { LayoutConfigOptions } from '../tokens/library-config';
import * as i0 from "@angular/core";
export declare class StyleUtilsService {
    private _serverStylesheet;
    private _serverModuleLoaded;
    private _platformId;
    private layoutConfig;
    constructor(_serverStylesheet: StylesheetMap, _serverModuleLoaded: boolean, _platformId: Object, layoutConfig: LayoutConfigOptions);
    /**
     * Method for apply style to element
     * @param  {HTMLElement} element
     * @param  {(StyleDefinition | string)} style
     * @param  {(string | number | null)} [value=null]
     * @return {void}@memberof StyleUtilsService
     */
    applyStyleToElement(element: HTMLElement, style: StyleDefinition | string, value?: string | number | null): void;
    /**
     * Method for apply style to child elements
     * @param  {StyleDefinition} style
     * @param  {HTMLElement[]} [elements=[]]
     * @return {void}@memberof StyleUtilsService
     */
    applyStyleToElements(style: StyleDefinition, elements?: HTMLElement[]): void;
    /**
     * Method for get flow direction row | column
     * @param  {HTMLElement} target
     * @return [string, string]
     * @memberof StyleUtilsService
     */
    getFlowDirection(target: HTMLElement): [string, string];
    /**
     * Method for check wrap is present or not
     * @param  {HTMLElement} target
     * @return boolean
     * @memberof StyleUtilsService
     */
    hasWrap(target: HTMLElement): boolean;
    /**
     * Method for check attribute is present or not
     * @param  {HTMLElement} element
     * @param  {string} attribute
     * @return string
     * @memberof StyleUtilsService
     */
    lookupAttributeValue(element: HTMLElement, attribute: string): string;
    /**
     * Method for check inline style is present or not
     * @param  {HTMLElement} element
     * @param  {string} styleName
     * @return string
     * @memberof StyleUtilsService
     */
    lookupInlineStyle(element: HTMLElement, styleName: string): string;
    /**
     * Method for check style is present or not
     * @param  {HTMLElement} element
     * @param  {string} styleName
     * @param  {boolean} [inlineOnly=false]
     * @return string
     * @memberof StyleUtilsService
     */
    lookupStyle(element: HTMLElement, styleName: string, inlineOnly?: boolean): string;
    /**
     * Method for apply syles to element
     * @private
     * @param  {StyleDefinition} styles
     * @param  {HTMLElement} element
     * @return {void}@memberof StyleUtilsService
     */
    private _applyMultiValueStyleToElement;
    static ɵfac: i0.ɵɵFactoryDeclaration<StyleUtilsService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<StyleUtilsService>;
}
export type StyleDefinition = {
    [property: string]: string | number | null;
};
