import { Quad, QuadLike } from "@opennetwork/rdf-data-model"; import { QuadFind } from "./match"; export interface FilterIterateeFn { (value: T): boolean; } export interface FilterIterateeIsFn { (value: T): value is R; } export interface RunIteratee { (value: T): void; } export interface MapIteratee { (value: T): R; } export interface ReadonlyDataset extends Iterable { } export interface ReadonlyDataset { filter(iteratee: FilterIterateeIsFn): ReadonlyDataset; filter(iteratee: FilterIterateeFn): ReadonlyDataset; except(iteratee: FilterIterateeFn): ReadonlyDataset; match(find: Quad | QuadFind): ReadonlyDataset; match(find: R): ReadonlyDataset; match = Q>(find: R): ReadonlyDataset; without(find: Quad | QuadFind): ReadonlyDataset; has(find: Quad | QuadFind): boolean; contains(dataset: Iterable): boolean; difference(dataset: Iterable): ReadonlyDataset; equals(dataset: Iterable): boolean; every(iteratee: FilterIterateeFn): boolean; forEach(iteratee: RunIteratee): void; intersection(dataset: Iterable): ReadonlyDataset; map(iteratee: MapIteratee): ReadonlyDataset; some(iteratee: FilterIterateeFn): boolean; toArray(): Q[]; union(dataset: Iterable): ReadonlyDataset; } export declare class ReadonlyDataset implements ReadonlyDataset, Iterable { #private; constructor(source?: Iterable); filter(iteratee: FilterIterateeIsFn): ReadonlyDataset; filter(iteratee: FilterIterateeFn): ReadonlyDataset; match(find: R): ReadonlyDataset; match = Q>(find: R): ReadonlyDataset; match(find: Quad | QuadFind): ReadonlyDataset; [Symbol.iterator](): Generator; get size(): number; get empty(): boolean; }