import { Ref } from "@effect/core/io/Ref/definition";
import { Stream } from "@effect/core/stream/Stream/definition";
export declare const SubscriptionRefSym: unique symbol;
export declare type SubscriptionRefSym = typeof SubscriptionRefSym;
/**
 * A `SubscriptionRef[A]` is a `Ref` that can be subscribed to in order to
 * receive the current value as well as all changes to the value.
 *
 * @tsplus type ets/SubscriptionRef
 */
export interface SubscriptionRef<A> extends Ref.Synchronized<A> {
    /**
     * Internal Discriminator
     */
    readonly [SubscriptionRefSym]: SubscriptionRefSym;
    /**
     * A stream containing the current value of the `Ref` as well as all changes
     * to that value.
     */
    get changes(): Stream.UIO<A>;
}
/**
 * @tsplus type ets/SubscriptionRef/Ops
 */
export interface SubscriptionRefOps {
}
export declare const SubscriptionRef: SubscriptionRefOps;
//# sourceMappingURL=definition.d.ts.map