import * as React from 'react';
import { DataGridToolbar } from './DataGridToolbar';
import { IgrDataGrid } from "./igr-data-grid";
import { ControlDisplayDensity } from "igniteui-react-core";
import { BaseControlTheme } from "igniteui-react-core";
export declare class IgrDataGridToolbar extends React.Component<IIgrDataGridToolbarProps> {
    private _container;
    private _height;
    private _width;
    private _initialized;
    private _elRef;
    private _renderer;
    private _columnChooserRef;
    private _columnPinningRef;
    set height(value: string);
    get height(): string;
    set width(value: string);
    get width(): string;
    private _getMainRef;
    private _getColumnChooserRef;
    private _getColumnPinningRef;
    render(): React.DetailedReactHTMLElement<{
        className: string;
        ref: (ref: any) => void;
        children: any[];
    }, any>;
    constructor(props: IIgrDataGridToolbarProps);
    shouldComponentUpdate(nextProps: any, nextState: any): boolean;
    protected initializeProperties(): void;
    updateStyle(): void;
    destroy(): void;
    componentWillUnmount(): void;
    private _implementation;
    componentDidMount(): void;
    initializeContent(): void;
    protected createImplementation(): DataGridToolbar;
    get i(): DataGridToolbar;
    private _toolbar;
    /**
 * 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 toolbarTitle(): string;
    set toolbarTitle(v: string);
    /**
     * Gets or Sets the property name that contains the values.
    */
    get toolbarTitleStyle(): string;
    set toolbarTitleStyle(v: string);
    /**
     * Gets or Sets the property name that contains the values.
    */
    get toolbarTitleColor(): string;
    set toolbarTitleColor(v: string);
    /**
     * Gets or Sets the property name that contains the values.
    */
    get backgroundColor(): string;
    set backgroundColor(v: string);
    /**
     * Gets or Sets the property name that contains the values.
    */
    get dialogBackgroundColor(): string;
    set dialogBackgroundColor(v: string);
    /**
     * Gets or Sets the property name that contains the values.
    */
    get columnChooser(): boolean;
    set columnChooser(v: boolean);
    /**
     * Gets or Sets the property name that contains the values.
    */
    get columnChooserText(): string;
    set columnChooserText(v: string);
    /**
     * Gets or Sets the property name that contains the values.
    */
    get columnChooserTitle(): string;
    set columnChooserTitle(v: string);
    /**
     * Gets or Sets the property name that contains the values.
    */
    get columnPinning(): boolean;
    set columnPinning(v: boolean);
    /**
     * Gets or Sets the property name that contains the values.
    */
    get columnPinningText(): string;
    set columnPinningText(v: string);
    /**
     * Gets or Sets the property name that contains the values.
    */
    get columnPinningTitle(): string;
    set columnPinningTitle(v: string);
    get borderWidthBottom(): number;
    set borderWidthBottom(v: number);
    get borderWidthLeft(): number;
    set borderWidthLeft(v: number);
    get borderWidthRight(): number;
    set borderWidthRight(v: number);
    get borderWidthTop(): number;
    set borderWidthTop(v: number);
    ensureBorderWidth(): void;
    /**
     * 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 baseTheme(): BaseControlTheme;
    set baseTheme(v: BaseControlTheme);
    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 toolbar.

*/
    exportVisualModel(): any;
    /**
     * Returns a serialized copy of the exported visual model
    
    */
    exportSerializedVisualModel(): string;
}
export interface IIgrDataGridToolbarProps {
    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.
    */
    toolbarTitle?: string;
    /**
     * Gets or Sets the property name that contains the values.
    */
    toolbarTitleStyle?: string;
    /**
     * Gets or Sets the property name that contains the values.
    */
    toolbarTitleColor?: string;
    /**
     * Gets or Sets the property name that contains the values.
    */
    backgroundColor?: string;
    /**
     * Gets or Sets the property name that contains the values.
    */
    dialogBackgroundColor?: string;
    /**
     * Gets or Sets the property name that contains the values.
    */
    columnChooser?: boolean | string;
    /**
     * Gets or Sets the property name that contains the values.
    */
    columnChooserText?: string;
    /**
     * Gets or Sets the property name that contains the values.
    */
    columnChooserTitle?: string;
    /**
     * Gets or Sets the property name that contains the values.
    */
    columnPinning?: boolean | string;
    /**
     * Gets or Sets the property name that contains the values.
    */
    columnPinningText?: string;
    /**
     * Gets or Sets the property name that contains the values.
    */
    columnPinningTitle?: string;
    borderWidthBottom?: number | string;
    borderWidthLeft?: number | string;
    borderWidthRight?: number | string;
    borderWidthTop?: number | string;
    /**
     * Gets or Sets the property name that contains the values.
    */
    density?: ControlDisplayDensity | string;
    /**
     * Gets or Sets the property name that contains the values.
    */
    baseTheme?: BaseControlTheme | string;
}
