import { EventEmitter, ElementRef, OnInit, AfterViewInit, OnChanges } from '@angular/core';
import { SelectConfig } from '../select/select.config';
/** default page size types */
export declare type PAGE_SIZE = 'sm' | 'default';
export declare class PageComponent implements OnInit, AfterViewInit, OnChanges {
    private _el;
    /**
     * extra theme class
     * @default ''
     */
    theme: string;
    /**
     * count per page
     * @default default
     */
    count: number;
    /**
     * page curIndex
     * @default default
     */
    curIndex: number;
    /**
     * total count
     * @default default
     */
    total: number;
    /**
     * showCount count
     * @default default
     */
    showCount: number;
    /**
     * page list selected
     * @default default
     */
    list: Array<number>;
    /**
     * page size, there are four default sizes:  'sm' | 'default'
     * @default default
     */
    size: PAGE_SIZE;
    /**
     * when page change, emit a change event, which contains the currrentIndex and the count
     * @default default
     */
    pageChange: EventEmitter<Object>;
    /**
     * 页数
     * @docs-private
     */
    pageSize: Array<number>;
    /**
     * 当前页
     * @docs-private
     */
    currrentIndex: number;
    /**
     * 最后选择的页
     * @docs-private
     */
    lastIndex: number;
    /**
     * 页码较多时, 当前页码前后单一边显示的页码数
     * @docs-private
     */
    _showCount: number;
    /**
     * 页码较多时, 当前页码前后单一边显示的页码数数组
     * @docs-private
     */
    showCountArr: Array<number>;
    /**
     * 可供选择的每页显示的条数
     * @docs-private
     */
    selectData: SelectConfig[];
    constructor(_el: ElementRef);
    ngOnChanges(): void;
    ngOnInit(): void;
    ngAfterViewInit(): void;
    /**
     * set host element classes
     * @docs-private
     */
    setClass(): void;
    /**
     * get host element classes, depends on the theme and size.
     * @return {string} class names
     * @docs-private
     */
    getClassName(): string;
    /**
     * set current page
     *
     * @param {any} value - box value
     * @docs-private
     */
    setPage(): void;
    /**
     * jump tp page num
     *
     * @param {number} index - page num
     * @docs-private
     */
    jumpTo(index: number): void;
    /**
     * set current page count
     *
     * @param {object} event - page change event
     * @docs-private
     */
    setCount(event: any): void;
}
