/**
* @since 2.0.0
*/
import * as Effect from "./Effect.js";
import * as Readable from "./Readable.js";
import * as Stream from "./Stream.js";
import type { NoInfer } from "./Types.js";
/**
* @since 2.0.0
* @category type ids
*/
export declare const TypeId: unique symbol;
/**
* @since 2.0.0
* @category type ids
*/
export type TypeId = typeof TypeId;
/**
* @since 2.0.0
* @category models
*/
export interface Subscribable extends Readable.Readable {
readonly [TypeId]: TypeId;
readonly changes: Stream.Stream;
}
/**
* @since 2.0.0
* @category refinements
*/
export declare const isSubscribable: (u: unknown) => u is Subscribable;
/**
* @since 2.0.0
* @category constructors
*/
export declare const make: (options: {
readonly get: Effect.Effect;
readonly changes: Stream.Stream;
}) => Subscribable;
/**
* @since 2.0.0
* @category combinators
*/
export declare const map: {
/**
* @since 2.0.0
* @category combinators
*/
(f: (a: NoInfer) => B): (fa: Subscribable) => Subscribable;
/**
* @since 2.0.0
* @category combinators
*/
(self: Subscribable, f: (a: NoInfer) => B): Subscribable;
};
/**
* @since 2.0.0
* @category combinators
*/
export declare const mapEffect: {
/**
* @since 2.0.0
* @category combinators
*/
(f: (a: NoInfer) => Effect.Effect): (fa: Subscribable) => Subscribable;
/**
* @since 2.0.0
* @category combinators
*/
(self: Subscribable, f: (a: NoInfer) => Effect.Effect): Subscribable;
};
/**
* @since 2.0.0
* @category constructors
*/
export declare const unwrap: (effect: Effect.Effect, E1, R1>) => Subscribable;
//# sourceMappingURL=Subscribable.d.ts.map