import { Collection } from "@tsplus/stdlib/collections/Collection/definition";
import { Chunk } from "@tsplus/stdlib/collections/Chunk/definition";
import type { AtomicHub } from "@effect/core/io/Hub/operations/_internal/AtomicHub";
import { Subscription } from "@effect/core/io/Hub/operations/_internal/Subscription";
export declare class BoundedHubArb<A> implements AtomicHub<A> {
    array: Array<A>;
    publisherIndex: number;
    subscribers: Array<number>;
    subscriberCount: number;
    subscribersIndex: number;
    readonly capacity: number;
    constructor(requestedCapacity: number);
    isEmpty(): boolean;
    isFull(): boolean;
    publish(a: A): boolean;
    publishAll(as: Collection<A>): Chunk<A>;
    size(): number;
    slide(): void;
    subscribe(): Subscription<A>;
}
//# sourceMappingURL=BoundedHubArb.d.ts.map