import { BaseDataSource, BaseDataSourceViewer } from '@rxap/data-source';
import { Observable, TeardownLogic } from 'rxjs';
import { AbstractPaginationDataSource, AbstractPaginationDataSourceMetadata, PaginatorLike } from './abstract-pagination.data-source';
import { Constructor } from '@rxap/utilities';
import * as i0 from "@angular/core";
export type PaginationDataSourceMetadata = AbstractPaginationDataSourceMetadata;
export declare class PaginationDataSource<Data> extends AbstractPaginationDataSource<Data> {
    readonly dataSource: BaseDataSource<Data[]>;
    constructor(dataSource: BaseDataSource<Data[]>, paginator?: PaginatorLike | null, metadata?: PaginationDataSourceMetadata);
    refresh(): any;
    protected _connect(viewer: BaseDataSourceViewer): [Observable<Data[]>, TeardownLogic];
    static ɵfac: i0.ɵɵFactoryDeclaration<PaginationDataSource<any>, [null, { optional: true; }, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<PaginationDataSource<any>>;
}
export declare function RxapPaginationDataSource(metadataOrId: string | PaginationDataSourceMetadata, className?: string, packageName?: string): (target: Constructor<PaginationDataSource<any>>) => void;
