import type { ApplicationDataSource, IFetchStatus } from '../../application';
export interface IDataSourceResult<T> extends IFetchStatus {
    data: T;
    refresh: () => void;
}
/**
 * A react hook that returns the current value an ApplicationDataSource
 * and triggers a re-render when a new value is set. Also provides a function
 * for refreshing the data source manually.
 *
 * @param dataSource the data source to subscribe to
 * @returns IDataSourceResult<T>
 */
export declare const useDataSource: <T>(dataSource: ApplicationDataSource<T>) => IDataSourceResult<T>;
