@furystack/shades
Version:
Google Authentication Provider for FuryStack
15 lines • 969 B
TypeScript
import type { ValueChangeCallback, ValueObserver, ValueObserverOptions } from '@furystack/utils';
import { ObservableValue } from '@furystack/utils';
/**
* Class for managing observables and disposables for components, based on key-value maps
*/
export declare class ResourceManager implements AsyncDisposable {
private readonly disposables;
useDisposable<T extends Disposable | AsyncDisposable>(key: string, factory: () => T): T;
readonly observers: Map<string, ValueObserver<any>>;
useObservable: <T>(key: string, observable: ObservableValue<T>, onChange: ValueChangeCallback<T>, options?: ValueObserverOptions<T>) => [value: T, setValue: (newValue: T) => void];
readonly stateObservers: Map<string, ObservableValue<any>>;
useState: <T>(key: string, initialValue: T, callback: ValueChangeCallback<T>) => [value: T, setValue: (newValue: T) => void];
[Symbol.asyncDispose](): Promise<void>;
}
//# sourceMappingURL=resource-manager.d.ts.map