@river-build/react-sdk
Version:
React Hooks for River SDK
28 lines • 1.07 kB
TypeScript
import type { Observable, SyncAgent } from '@river-build/sdk';
import { type ObservableConfig } from './useObservable';
type SyncSelector = SyncAgent['observables'];
/**
* Hook to get an observable from the sync agent.
*
* An alternative of our premade hooks, allowing the creation of custom abstractions.
* @param selector - A selector function to get a observable from the sync agent.
* @param config - Configuration options for the observable.
* @returns The data from the selected observable.
*/
export declare function useRiver<T>(selector: (sync: SyncSelector) => Observable<T>, config?: ObservableConfig.FromData<T>): T extends import("@river-build/sdk").PersistedModel<infer UnwrappedData> ? {
data: UnwrappedData;
error: Error | undefined;
status: "error" | "loading" | "loaded";
isLoading: boolean;
isError: boolean;
isLoaded: boolean;
} : {
data: T;
error: undefined;
status: "loading" | "loaded";
isLoading: boolean;
isError: false;
isLoaded: boolean;
};
export {};
//# sourceMappingURL=useRiver.d.ts.map