import * as React from 'react';
import { ColumnGrouping } from './ColumnGrouping';
import { IgrDataGrid } from "./igr-data-grid";
import { BaseControlTheme } from "igniteui-react-core";
import { ControlDisplayDensity } from "igniteui-react-core";
export declare class IgrColumnGrouping extends React.Component<IIgrColumnGroupingProps> {
    private _container;
    private _height;
    private _width;
    private _initialized;
    private _elRef;
    private _renderer;
    set height(value: string);
    get height(): string;
    set width(value: string);
    get width(): string;
    private _wrapper;
    private _getMainRef;
    render(): React.DetailedReactHTMLElement<{
        className: string;
        ref: (ref: any) => void;
        children: any[];
    }, any>;
    constructor(props: IIgrColumnGroupingProps);
    shouldComponentUpdate(nextProps: any, nextState: any): boolean;
    protected initializeProperties(): void;
    updateStyle(): void;
    destroy(): void;
    componentWillUnmount(): void;
    private _implementation;
    componentDidMount(): void;
    initializeContent(): void;
    protected createImplementation(): ColumnGrouping;
    get i(): ColumnGrouping;
    private _columnGrouping;
    /**
 * Gets or Sets the property name that contains the values.
*/
    get targetGrid(): IgrDataGrid;
    set targetGrid(v: IgrDataGrid);
    /**
     * Gets or Sets the property name that contains the values.
    */
    get baseTheme(): BaseControlTheme;
    set baseTheme(v: BaseControlTheme);
    /**
     * Gets or Sets the property name that contains the values.
    */
    get density(): ControlDisplayDensity;
    set density(v: ControlDisplayDensity);
    /**
     * Gets or Sets the property name that contains the values.
    */
    get title(): string;
    set title(v: string);
    /**
     * Gets or Sets the property name that contains the values.
    */
    get titleColor(): string;
    set titleColor(v: string);
    /**
     * Gets or Sets the property name that contains the values.
    */
    get textStyle(): string;
    set textStyle(v: string);
    /**
     * Gets or Sets the property name that contains the values.
    */
    get textColor(): string;
    set textColor(v: string);
    /**
     * Gets or Sets the property name that contains the values.
    */
    get iconColor(): string;
    set iconColor(v: string);
    /**
     * Gets or sets the background color of the column items in the group area.
    */
    get itemBackgroundColor(): string;
    set itemBackgroundColor(v: string);
    /**
     * Gets or sets the background color of the column items when hovered by the mouse.
    */
    get itemHoverBackgroundColor(): string;
    set itemHoverBackgroundColor(v: string);
    /**
     * Gets or sets the background of the group by area.
    */
    get backgroundColor(): string;
    set backgroundColor(v: string);
    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;
    /**
 * Exports visual information about the current state of the grid.

*/
    exportVisualModel(): any;
    /**
     * Returns a serialized copy of the exported visual model
    
    */
    exportSerializedVisualModel(): string;
}
export interface IIgrColumnGroupingProps {
    width?: string;
    height?: string;
    children?: React.ReactNode;
    /**
 * Gets or Sets the property name that contains the values.
*/
    targetGrid?: IgrDataGrid;
    /**
     * Gets or Sets the property name that contains the values.
    */
    baseTheme?: BaseControlTheme | string;
    /**
     * Gets or Sets the property name that contains the values.
    */
    density?: ControlDisplayDensity | string;
    /**
     * Gets or Sets the property name that contains the values.
    */
    title?: string;
    /**
     * Gets or Sets the property name that contains the values.
    */
    titleColor?: string;
    /**
     * Gets or Sets the property name that contains the values.
    */
    textStyle?: string;
    /**
     * Gets or Sets the property name that contains the values.
    */
    textColor?: string;
    /**
     * Gets or Sets the property name that contains the values.
    */
    iconColor?: string;
    /**
     * Gets or sets the background color of the column items in the group area.
    */
    itemBackgroundColor?: string;
    /**
     * Gets or sets the background color of the column items when hovered by the mouse.
    */
    itemHoverBackgroundColor?: string;
    /**
     * Gets or sets the background of the group by area.
    */
    backgroundColor?: string;
}
