import * as React from 'react';
import { IDataSource } from "igniteui-react-core";
import { Pager } from "./Pager";
import { IgrDataGrid } from "./igr-data-grid";
import { IgrPageChangedEventArgs } from "./igr-page-changed-event-args";
export declare class IgrDataGridPager extends React.Component<IIgrDataGridPagerProps> {
    private _container;
    private _elRef;
    private _getMainRef;
    render(): React.DetailedReactHTMLElement<{
        className: string;
        ref: (ref: any) => void;
    }, any>;
    protected createImplementation(): Pager;
    protected _implementation: any;
    get i(): Pager;
    private onImplementationCreated;
    private _renderer;
    constructor(props: IIgrDataGridPagerProps);
    private requestRender;
    initializeContent(): void;
    destroy(): void;
    componentWillUnmount(): void;
    componentDidMount(): void;
    protected initializeProperties(): void;
    shouldComponentUpdate(nextProps: any, nextState: any): boolean;
    private containerResized;
    get actualDataSource(): IDataSource;
    private _dataSource;
    /**
     * Gets or sets the data used by the pager.
     * */
    set dataSource(value: any);
    get dataSource(): any;
    /**
     * Gets or sets the target grid for the pager.
     * */
    set targetGrid(value: IgrDataGrid);
    get targetGrid(): IgrDataGrid;
    get pagerText(): string;
    set pagerText(v: string);
    /**
     * Gets or sets the page size.
    */
    get pageSize(): number;
    set pageSize(v: number);
    /**
     * Gets the page count.
    */
    get pageCount(): number;
    set pageCount(v: number);
    /**
     * Gets or sets the current page for the pager.
    */
    get currentPage(): number;
    set currentPage(v: number);
    /**
     * Gets or sets the font to use for content cells
    */
    get textStyle(): string;
    set textStyle(v: string);
    /**
     * Gets or sets the background color to use.
    */
    get background(): string;
    set background(v: string);
    /**
     * Gets or sets the border color around the grid.
    */
    get border(): string;
    set border(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;
    nextPage(): void;
    previousPage(): void;
    firstPage(): void;
    lastPage(): void;
    provideContainer(container: 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;
    private _pageChanged;
    private _pageChanged_wrapped;
    /**
     * Event called when the page has changed.
    */
    get pageChanged(): (s: IgrDataGridPager, e: IgrPageChangedEventArgs) => void;
    set pageChanged(ev: (s: IgrDataGridPager, e: IgrPageChangedEventArgs) => void);
}
export interface IIgrDataGridPagerProps {
    width?: string;
    height?: string;
    children?: React.ReactNode;
    /**
     * Gets or sets the data used by the pager.
     * */
    dataSource?: any;
    /**
     * Gets or sets the target grid for the pager.
     * */
    targetGrid?: IgrDataGrid;
    pagerText?: string;
    /**
     * Gets or sets the page size.
    */
    pageSize?: number | string;
    /**
     * Gets the page count.
    */
    pageCount?: number | string;
    /**
     * Gets or sets the current page for the pager.
    */
    currentPage?: number | string;
    /**
     * Gets or sets the font to use for content cells
    */
    textStyle?: string;
    /**
     * Gets or sets the background color to use.
    */
    background?: string;
    /**
     * Gets or sets the border color around the grid.
    */
    border?: string;
    /**
 * Event called when the page has changed.
*/
    pageChanged?: (s: IgrDataGridPager, e: IgrPageChangedEventArgs) => void;
}
