import { IgrBaseEventArgs } from "./igr-base-event-args";
import { IgrRowExportingEventArgs } from "./igr-row-exporting-event-args";
import { IgrColumnExportingEventArgs } from "./igr-column-exporting-event-args";
import { IgrExporterOptionsBase } from "./igr-exporter-options-base";
import { BaseExporter as BaseExporter_internal } from "./BaseExporter";
import { ContentChildrenManager } from "igniteui-react-core";
export declare abstract class IgrBaseExporter {
    protected createImplementation(): BaseExporter_internal;
    protected _implementation: any;
    protected mounted: boolean;
    get nativeElement(): HTMLElement;
    /**
     * @hidden
     */
    get i(): BaseExporter_internal; /**
                                 * @hidden
                                 */
    static _createFromInternal(internal: any): IgrBaseExporter;
    protected onImplementationCreated(): void;
    protected _contentChildrenManager: ContentChildrenManager;
    constructor();
    protected _provideImplementation(i: any): void;
    findByName(name: string): any;
    setNativeElement(element: any): void;
    exportGrid(grid: any, options: IgrExporterOptionsBase): void;
    exportData(data: any[], options: IgrExporterOptionsBase): void;
    private _exportEnded;
    private _exportEnded_wrapped;
    get exportEnded(): (s: IgrBaseExporter, e: IgrBaseEventArgs) => void;
    set exportEnded(ev: (s: IgrBaseExporter, e: IgrBaseEventArgs) => void);
    private _rowExporting;
    private _rowExporting_wrapped;
    /**
     * This event is emitted when a row is exported.
     * ```typescript
     * this.exporterService.rowExporting.subscribe((args: IRowExportingEventArgs) => {
     * // put event handler code here
     * });
     * ```
     * @memberof IgxBaseExporter
    */
    get rowExporting(): (s: IgrBaseExporter, e: IgrRowExportingEventArgs) => void;
    set rowExporting(ev: (s: IgrBaseExporter, e: IgrRowExportingEventArgs) => void);
    private _columnExporting;
    private _columnExporting_wrapped;
    /**
     * This event is emitted when a column is exported.
     * ```typescript
     * this.exporterService.columnExporting.subscribe((args: IColumnExportingEventArgs) => {
     * // put event handler code here
     * });
     * ```
     * @memberof IgxBaseExporter
    */
    get columnExporting(): (s: IgrBaseExporter, e: IgrColumnExportingEventArgs) => void;
    set columnExporting(ev: (s: IgrBaseExporter, e: IgrColumnExportingEventArgs) => void);
}
