import * as React from 'react';
import { IgrGridBaseDirective } from "./igr-grid-base-directive";
import { IgrGridToolbarContentCollection } from "./igr-grid-toolbar-content-collection";
import { GridToolbar } from "./GridToolbar";
import { ReactRenderer, PortalManager } from "igniteui-react-core";
import { ContentChildrenManager } from "igniteui-react-core";
import { IgrGridToolbarContent } from "./igr-grid-toolbar-content";
/**
 * Provides a context-aware container component for UI operations for the grid components.
 * @igxModule IgxGridToolbarModule
 * @igxParent IgxGridComponent, IgxTreeGridComponent, IgxHierarchicalGridComponent, IgxPivotGridComponent
*/
export declare class IgrGridToolbar<P extends IIgrGridToolbarProps = IIgrGridToolbarProps> extends React.Component<P & Omit<React.HTMLAttributes<HTMLElement>, keyof P>, {}> {
    protected createImplementation(): GridToolbar;
    protected _implementation: any;
    protected mounted: boolean;
    get nativeElement(): HTMLElement;
    /**
     * @hidden
     */
    get i(): GridToolbar; /**
                                 * @hidden
                                 */
    static _createFromInternal(internal: any): IgrGridToolbar;
    protected _renderer: ReactRenderer;
    protected _portalManager: PortalManager;
    private portaledContentChildren;
    componentWillUnmount(): void;
    protected onImplementationCreated(): void;
    protected _contentChildrenManager: ContentChildrenManager;
    protected _initializeAdapters(): void;
    protected _updateAdapters(): void;
    constructor(props: P & Omit<React.HTMLAttributes<HTMLElement>, keyof P>);
    componentDidMount(): void;
    shouldComponentUpdate(nextProps: any, nextState: any): boolean;
    render(): React.DetailedReactHTMLElement<{
        ref: (ref: any) => void;
        className: (P & Omit<React.HTMLAttributes<HTMLElement>, keyof P>)["className"];
        style: {};
        children: any[];
    }, any>;
    protected _elRef: HTMLElement;
    protected _getMainRef(ref: any): void;
    /**
     * When enabled, shows the indeterminate progress bar.
     * @remarks
     * By default this will be toggled, when the default exporter component is present
     * and an exporting is in progress.
    */
    get showProgress(): boolean;
    set showProgress(v: boolean);
    /**
     * Gets/sets the grid component for the toolbar component.
     * @deprecated No longer required to be set for the Hierarchical Grid child grid template
    */
    get grid(): IgrGridBaseDirective;
    set grid(v: IgrGridBaseDirective);
    get name(): string;
    set name(v: string);
    private _tools;
    private _actualTools;
    get actualTools(): IgrGridToolbarContent[];
    private _contentTools;
    get contentTools(): IgrGridToolbarContent[];
    private _toolsAdapter;
    get tools(): IgrGridToolbarContentCollection;
    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;
    setNativeElement(element: any): void;
}
export interface IIgrGridToolbarProps {
    children?: React.ReactNode;
    id?: string | undefined;
    className?: string | undefined;
    style?: React.CSSProperties | undefined;
    /**
     * When enabled, shows the indeterminate progress bar.
     * @remarks
     * By default this will be toggled, when the default exporter component is present
     * and an exporting is in progress.
    */
    showProgress?: boolean | string;
    /**
     * Gets/sets the grid component for the toolbar component.
    */
    grid?: IgrGridBaseDirective;
    name?: string;
}
