import * as React from 'react';
import { HorizontalAlignment } from "igniteui-react-core";
import { VerticalAlignment } from "igniteui-react-core";
import { TreemapNodeStyle } from "./TreemapNodeStyle";
import { ContentChildrenManager } from "igniteui-react-core";
/**
 * Represents a style to apply to a treemap node.
*/
export declare class IgrTreemapNodeStyle<P extends IIgrTreemapNodeStyleProps = IIgrTreemapNodeStyleProps> extends React.Component<P, {}> {
    protected createImplementation(): TreemapNodeStyle;
    protected _implementation: any;
    /**
     * @hidden
     */
    get i(): TreemapNodeStyle; /**
                                 * @hidden
                                 */
    static _createFromInternal(internal: any): IgrTreemapNodeStyle;
    private onImplementationCreated;
    protected _contentChildrenManager: ContentChildrenManager;
    constructor(props: P);
    componentDidMount(): void;
    shouldComponentUpdate(nextProps: any, nextState: any): boolean;
    render(): any;
    /**
     * Gets or sets the background to use for the header when it is hovered.
    */
    get headerHoverBackground(): string;
    set headerHoverBackground(v: string);
    /**
     * Gets or sets the background to use for the header.
    */
    get headerBackground(): string;
    set headerBackground(v: string);
    /**
     * Gets or sets the text color to use for the header.
    */
    get headerTextColor(): string;
    set headerTextColor(v: string);
    /**
     * Gets or sets the label to use for the node.
    */
    get label(): string;
    set label(v: string);
    /**
     * Gets or sets the text color to use for the nodes.
    */
    get textColor(): string;
    set textColor(v: string);
    /**
     * Gets or sets the text color to use for the header.
    */
    get headerHoverTextColor(): string;
    set headerHoverTextColor(v: string);
    /**
     * Gets or sets the left margin to use for the header.
    */
    get headerLabelLeftMargin(): number;
    set headerLabelLeftMargin(v: number);
    /**
     * Gets or sets the top margin to use for the header.
    */
    get headerLabelTopMargin(): number;
    set headerLabelTopMargin(v: number);
    /**
     * Gets or sets the right margin to use for the header.
    */
    get headerLabelRightMargin(): number;
    set headerLabelRightMargin(v: number);
    /**
     * Gets or sets the bottom margin to use for the labels.
    */
    get headerLabelBottomMargin(): number;
    set headerLabelBottomMargin(v: number);
    /**
     * Gets or sets the left margin to use for the labels.
    */
    get labelLeftMargin(): number;
    set labelLeftMargin(v: number);
    /**
     * Gets or sets the top margin to use for the labels.
    */
    get labelTopMargin(): number;
    set labelTopMargin(v: number);
    /**
     * Gets or sets the right margin to use for the labels.
    */
    get labelRightMargin(): number;
    set labelRightMargin(v: number);
    /**
     * Gets or sets the bottom margin to use for the labels.
    */
    get labelBottomMargin(): number;
    set labelBottomMargin(v: number);
    /**
     * Gets or sets the height to use for the header.
    */
    get headerHeight(): number;
    set headerHeight(v: number);
    /**
     * Gets or sets the horizontal alignment to use for the node labels.
    */
    get labelHorizontalAlignment(): HorizontalAlignment;
    set labelHorizontalAlignment(v: HorizontalAlignment);
    /**
     * Gets or sets the vertical alignment to use for the node labels.
    */
    get labelVerticalAlignment(): VerticalAlignment;
    set labelVerticalAlignment(v: VerticalAlignment);
    /**
     * Gets or sets the fill color to use for the nodes.
    */
    get fill(): string;
    set fill(v: string);
    /**
     * Gets or sets the outline to use for the nodes.
    */
    get outline(): string;
    set outline(v: string);
    /**
     * Gets or sets the stroke thickness to use for the node outline.
    */
    get strokeThickness(): number;
    set strokeThickness(v: number);
    findByName(name: string): any;
    protected __p: string;
    protected _hasUserValues: Set<string>;
    protected get hasUserValues(): Set<string>;
    protected __m(propertyName: string): void;
    protected _stylingContainer: any;
    protected _stylingParent: any;
    protected _inStyling: boolean;
    protected _styling(container: any, component: any, parent?: any): void;
}
export interface IIgrTreemapNodeStyleProps {
    children?: React.ReactNode;
    /**
     * Gets or sets the background to use for the header when it is hovered.
    */
    headerHoverBackground?: string;
    /**
     * Gets or sets the background to use for the header.
    */
    headerBackground?: string;
    /**
     * Gets or sets the text color to use for the header.
    */
    headerTextColor?: string;
    /**
     * Gets or sets the label to use for the node.
    */
    label?: string;
    /**
     * Gets or sets the text color to use for the nodes.
    */
    textColor?: string;
    /**
     * Gets or sets the text color to use for the header.
    */
    headerHoverTextColor?: string;
    /**
     * Gets or sets the left margin to use for the header.
    */
    headerLabelLeftMargin?: number | string;
    /**
     * Gets or sets the top margin to use for the header.
    */
    headerLabelTopMargin?: number | string;
    /**
     * Gets or sets the right margin to use for the header.
    */
    headerLabelRightMargin?: number | string;
    /**
     * Gets or sets the bottom margin to use for the labels.
    */
    headerLabelBottomMargin?: number | string;
    /**
     * Gets or sets the left margin to use for the labels.
    */
    labelLeftMargin?: number | string;
    /**
     * Gets or sets the top margin to use for the labels.
    */
    labelTopMargin?: number | string;
    /**
     * Gets or sets the right margin to use for the labels.
    */
    labelRightMargin?: number | string;
    /**
     * Gets or sets the bottom margin to use for the labels.
    */
    labelBottomMargin?: number | string;
    /**
     * Gets or sets the height to use for the header.
    */
    headerHeight?: number | string;
    /**
     * Gets or sets the horizontal alignment to use for the node labels.
    */
    labelHorizontalAlignment?: HorizontalAlignment | string;
    /**
     * Gets or sets the vertical alignment to use for the node labels.
    */
    labelVerticalAlignment?: VerticalAlignment | string;
    /**
     * Gets or sets the fill color to use for the nodes.
    */
    fill?: string;
    /**
     * Gets or sets the outline to use for the nodes.
    */
    outline?: string;
    /**
     * Gets or sets the stroke thickness to use for the node outline.
    */
    strokeThickness?: number | string;
}
