import { Collection } from "@tsplus/stdlib/collections/Collection/definition";
import { Chunk } from "@tsplus/stdlib/collections/Chunk/definition";
import type { Subscription } from "@effect/core/io/Hub/operations/_internal/Subscription";
export interface AtomicHub<A> {
    readonly capacity: number;
    isEmpty(): boolean;
    isFull(): boolean;
    publish(a: A): boolean;
    publishAll(as: Collection<A>): Chunk<A>;
    size(): number;
    slide(): void;
    subscribe(): Subscription<A>;
}
//# sourceMappingURL=AtomicHub.d.ts.map