import "../../Operator"
import * as L from "../../Collections/Immutable/List"
import * as Tp from "../../Collections/Immutable/Tuple"
import * as O from "../../Option"
export declare class ImmutableQueue<A> {
  private readonly backing
  constructor(backing: L.List<A>)
  push(a: A): ImmutableQueue<A>
  prepend(a: A): ImmutableQueue<A>
  get size(): number
  dequeue(): O.Option<Tp.Tuple<[NonNullable<A>, ImmutableQueue<A>]>>
  find(f: (a: A) => boolean): O.Option<A>
  filter(f: (a: A) => boolean): ImmutableQueue<A>
}
//# sourceMappingURL=index.d.ts.map
