import type * as Tp from "../Collections/Immutable/Tuple"
import type * as E from "../Either"
import type { ImmutableQueue } from "../Support/ImmutableQueue"
import * as T from "./effect"
import type * as P from "./promise"
export declare type Entry = Tp.Tuple<[P.Promise<never, void>, number]>
export declare type State = E.Either<ImmutableQueue<Entry>, number>
export declare const assertNonNegative: (n: number) => T.UIO<void>
export declare class Acquisition {
  readonly waitAcquire: T.UIO<void>
  readonly release: T.UIO<void>
  constructor(waitAcquire: T.UIO<void>, release: T.UIO<void>)
}
//# sourceMappingURL=state.d.ts.map
