import { BaseDataSource, BaseDataSourceMetadata } from './base.data-source';
import { Observable } from 'rxjs';
import { Constructor } from '@rxap/utilities';
import * as i0 from "@angular/core";
export interface ObservableDataSourceMetadata<Data> extends BaseDataSourceMetadata {
    data?: Observable<Data>;
}
export declare class ObservableDataSource<Data> extends BaseDataSource<Data, ObservableDataSourceMetadata<Data>> {
    constructor(observable: Observable<Data> | null, metadata?: ObservableDataSourceMetadata<Data> | null);
    static ɵfac: i0.ɵɵFactoryDeclaration<ObservableDataSource<any>, [{ optional: true; }, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<ObservableDataSource<any>>;
}
export declare function RxapObservableDataSource<Data>(metadata: ObservableDataSourceMetadata<Data>, className?: string, packageName?: string): (target: Constructor<ObservableDataSource<Data>>) => void;
export declare function observableDataSource<Data>(data: Observable<Data>, metadata?: ObservableDataSourceMetadata<Data>): ObservableDataSource<Data>;
