import { AsyncSubject, Observable } from 'rxjs';
import { ListByPageOption, SearchOption, OrderOption } from '../types';
import { BitCurdService } from '../bit-curd.service';
import { StorageMap } from '@ngx-pwa/local-storage';
export declare class ListByPage {
    private curd;
    private storage;
    private option;
    /**
     * 完成初始化
     * Complete initialization
     */
    ready: AsyncSubject<any>;
    /**
     * 搜索字段定义
     * Search field definition
     */
    search: {
        [field: string]: SearchOption;
    };
    /**
     * 排序字段定义
     * Sort field definition
     */
    order: OrderOption;
    /**
     * 分页数据
     * Paging data
     */
    data: any[];
    /**
     * 加载状态
     * Loading status
     */
    loading: boolean;
    /**
     * 分页限制
     * Paging limit
     */
    limit: number;
    /**
     * 分页总数
     * Total number of pages
     */
    totals: number;
    /**
     * 分页页码
     * Pagination page number
     */
    index: number;
    /**
     * 是否全被选中
     * Are all selected
     */
    checked: boolean;
    /**
     * 是否不完全被选中
     * Is it not completely selected
     */
    indeterminate: boolean;
    /**
     * 是否可进行批量处理
     * Whether it can be batch processed
     */
    batch: boolean;
    /**
     * 被选中的数量
     * Number selected
     */
    checkedNumber: number;
    constructor(curd: BitCurdService, storage: StorageMap, option: ListByPageOption);
    /**
     * 设置数据
     * Set data
     */
    setData(data: any[]): void;
    /**
     * 判断是否包含该字段的搜索条件
     * Determine whether to include the search criteria of the field
     */
    hasSearch(field: string): boolean;
    /**
     * 主动触发搜索变动之后
     * After actively triggering the search change
     */
    afterSearch(): Observable<any>;
    /**
     * 主动触发搜索清空之后
     * After actively triggering search and clearing
     */
    clearSearch(reset?: any): Observable<any>;
    /**
     * 更新分页列表状态
     * Update the status of the paging list
     */
    refreshStatus(): void;
    /**
     * 更改所有分页列表选中状态
     * Change the selected state of all tabbed lists
     */
    checkedAll(event: boolean): void;
    /**
     * 返回所有被选中的列表
     * Return all selected lists
     */
    getChecked(): any[];
    /**
     * 获取当前的页码
     * Get the current page number
     */
    getPage(): Observable<any>;
    /**
     * 主动执行分页页码的持久化记录
     * Actively execute persistent records of paging page numbers
     */
    persistence(): void;
    /**
     * 返回查询定义数组
     * Return query definition array
     */
    toQuery(): SearchOption[];
    /**
     * 返回查询语句
     * Return query statement
     */
    toQuerySchema(): any[];
}
