import { Observable } from 'rxjs';
import { A as Atom, S as Signal } from './types-CxOJPpKX.js';

/**
 * Options for `observe`
 */
type SignalObserveOptions = {
    sync?: boolean;
};
/**
 * Options for `observe`
 */
type AtomObserveOptions = {
    sync?: boolean;
    onlyChanges?: boolean;
};
/**
 * Exposes the value of an `Atom` as an RxJS `Observable`.
 *
 * The atom's value will be propagated into the `Observable`'s subscribers using an `effect`.
 */
declare function observe<T>(source: Atom<T>, options?: AtomObserveOptions): Observable<T>;
/**
 * Exposes the value of an `Atom` as an RxJS `Observable`.
 *
 * The atom's value will be propagated into the `Observable`'s subscribers using an `effect`.
 */
declare function observe<T>(source: Signal<T>, options?: SignalObserveOptions): Observable<T>;

export { type AtomObserveOptions as A, type SignalObserveOptions as S, observe as o };
