import { ApiPageRequest, ApiPageResponse } from './pages.interface';
import { Observable } from 'rxjs';
export declare class DataSourceRequest {
    private _request$;
    private _loading$;
    readonly loading: Observable<boolean>;
    readonly when: Observable<ApiPageRequest>;
    startLoading(): void;
    stopLoading(): void;
    update(params?: Partial<ApiPageRequest>): void;
}
export declare abstract class ApiDataSource<T = any> {
    abstract handle(request: DataSourceRequest): Observable<ApiPageResponse<T>>;
}
