import type { ReadonlySignal } from "@preact-signals/unified-signals";
import { ReadonlyFlatStore } from "@preact-signals/utils";
type Dispose = () => void;
type Observer<T> = {
    getCurrent: () => T;
    subscribe: (emit: (value: T) => void) => Dispose;
};
export declare const useObserverSignal: <T>(createObserver: () => Observer<T>) => ReadonlySignal<T>;
export declare const useObserverStore: <T extends Record<any, any>>(createObserverStore: () => Observer<T>) => ReadonlyFlatStore<T>;
export {};
