import * as React from 'react';
import { ColumnChooser } from './ColumnChooser';
import { IgrDataGrid } from "./igr-data-grid";
import { BaseControlTheme } from "igniteui-react-core";
import { ControlDisplayDensity } from "igniteui-react-core";
export declare class IgrColumnChooser extends React.Component<IIgrColumnChooserProps> {
    private _container;
    private _height;
    private _width;
    private _initialized;
    private _elRef;
    private _renderer;
    private _checkboxListRef;
    set height(value: string);
    get height(): string;
    set width(value: string);
    get width(): string;
    private _wrapper;
    private _getMainRef;
    private _getCheckboxListRef;
    render(): React.DetailedReactHTMLElement<{
        className: string;
        ref: (ref: any) => void;
        children: any[];
    }, any>;
    constructor(props: IIgrColumnChooserProps);
    shouldComponentUpdate(nextProps: any, nextState: any): boolean;
    protected initializeProperties(): void;
    updateStyle(): void;
    destroy(): void;
    componentWillUnmount(): void;
    private _implementation;
    componentDidMount(): void;
    initializeContent(): void;
    protected createImplementation(): ColumnChooser;
    get i(): ColumnChooser;
    private _columnChooser;
    /**
 * 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 title(): string;
    set title(v: string);
    /**
     * Gets or Sets the property name that contains the values.
    */
    get titleStyle(): string;
    set titleStyle(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 filterPlaceholderText(): string;
    set filterPlaceholderText(v: string);
    /**
     * 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 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;
}
export interface IIgrColumnChooserProps {
    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.
    */
    title?: string;
    /**
     * Gets or Sets the property name that contains the values.
    */
    titleStyle?: string;
    /**
     * Gets or Sets the property name that contains the values.
    */
    titleColor?: string;
    /**
     * Gets or Sets the property name that contains the values.
    */
    filterPlaceholderText?: string;
    /**
     * 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.
    */
    backgroundColor?: string;
}
