import { Hub } from "@effect/core/io/Hub/definition";
import { MutableHashSet } from "@tsplus/stdlib/collections/mutable/MutableHashSet/definition";
import { MutableQueue } from "@tsplus/stdlib/collections/mutable/MutableQueue/definition";
import { Deferred } from "@effect/core/io/Deferred/definition";
import { AtomicBoolean } from "@tsplus/stdlib/data/AtomicBoolean";
import { Chunk } from "@tsplus/stdlib/collections/Chunk/definition";
import { Exit } from "@effect/core/io/Exit/definition";
import { Effect } from "@effect/core/io/Effect/definition";
import type { AtomicHub } from "@effect/core/io/Hub/operations/_internal/AtomicHub";
import type { Subscription } from "@effect/core/io/Hub/operations/_internal/Subscription";
import type { Strategy } from "@effect/core/io/Hub/operations/strategy";
import { Scope } from "@effect/core/io/Scope/definition";
/**
* Creates a hub with the specified strategy.
*/
export declare function makeHub(hub: AtomicHub, strategy: Strategy): Effect>;
/**
* Unsafely creates a hub with the specified strategy.
*/
export declare function unsafeMakeHub(hub: AtomicHub, subscribers: MutableHashSet, MutableQueue>]>, scope: Scope.Closeable, shutdownHook: Deferred, shutdownFlag: AtomicBoolean, strategy: Strategy): Hub;
//# sourceMappingURL=makeHub.d.ts.map