/* tslint:disable */
/* eslint-disable */
/**
*/
export class AntiTreeDataset {
  free(): void;
/**
*/
  constructor();
/**
* @param {any} quad
*/
  add(quad: any): void;
/**
* @param {any} quad
*/
  delete(quad: any): void;
/**
* @param {any} quad
* @returns {boolean}
*/
  has(quad: any): boolean;
/**
* @param {any} subject
* @param {any} predicate
* @param {any} object
* @param {any} graph
* @returns {AntiTreeDataset}
*/
  match(subject: any, predicate: any, object: any, graph: any): AntiTreeDataset;
/**
* @param {any} imported
* @returns {AntiTreeDataset}
*/
  difference(imported: any): AntiTreeDataset;
/**
* @param {any} imported
* @returns {AntiTreeDataset}
*/
  intersection(imported: any): AntiTreeDataset;
/**
* @param {any} imported
* @returns {AntiTreeDataset}
*/
  union(imported: any): AntiTreeDataset;
/**
* @param {any} imported
* @returns {boolean}
*/
  equals(imported: any): boolean;
/**
* @param {Function} filter_function
* @returns {boolean}
*/
  some(filter_function: Function): boolean;
/**
* @param {Function} filter_function
* @returns {boolean}
*/
  every(filter_function: Function): boolean;
/**
* @param {Function} filter_function
* @returns {AntiTreeDataset}
*/
  filter(filter_function: Function): AntiTreeDataset;
/**
* @param {Function} map_function
* @returns {AntiTreeDataset}
*/
  map(map_function: Function): AntiTreeDataset;
/**
* @param {any} imported
* @returns {boolean}
*/
  contains(imported: any): boolean;
/**
* @param {Function} reducer
* @param {any} initial_value
* @returns {any}
*/
  reduce(reducer: Function, initial_value: any): any;
/**
* @param {any} quads_as_jsvalue
*/
  addAll(quads_as_jsvalue: any): void;
/**
* @param {any} subject
* @param {any} predicate
* @param {any} object
* @param {any} graph
*/
  deleteMatches(subject: any, predicate: any, object: any, graph: any): void;
/**
* @param {Function} quad_run_iteratee
*/
  forEach(quad_run_iteratee: Function): void;
/**
* @returns {Array<any>}
*/
  toArray(): Array<any>;
/**
* @returns {string}
*/
  toString(): string;
/**
* @returns {Array<any>}
*/
  quads(): Array<any>;
/**
* @returns {RustExportIterator}
*/
  getIterator(): RustExportIterator;
/**
* @param {string} nquads
*/
  addNQuads(nquads: string): void;
/**
* @param {string} text
*/
  addTriG(text: string): void;
/**
* @returns {string}
*/
  toNQuads(): string;
/**
* @returns {number}
*/
  readonly rust_managed: number;
/**
* @returns {number}
*/
  readonly size: number;
}
/**
*/
export class ArrayDataset {
  free(): void;
/**
*/
  constructor();
/**
* @param {any} quad
*/
  add(quad: any): void;
/**
* @param {any} quad
*/
  delete(quad: any): void;
/**
* @param {any} quad
* @returns {boolean}
*/
  has(quad: any): boolean;
/**
* @param {any} subject
* @param {any} predicate
* @param {any} object
* @param {any} graph
* @returns {ArrayDataset}
*/
  match(subject: any, predicate: any, object: any, graph: any): ArrayDataset;
/**
* @param {any} imported
* @returns {ArrayDataset}
*/
  difference(imported: any): ArrayDataset;
/**
* @param {any} imported
* @returns {ArrayDataset}
*/
  intersection(imported: any): ArrayDataset;
/**
* @param {any} imported
* @returns {ArrayDataset}
*/
  union(imported: any): ArrayDataset;
/**
* @param {any} imported
* @returns {boolean}
*/
  equals(imported: any): boolean;
/**
* @param {Function} filter_function
* @returns {boolean}
*/
  some(filter_function: Function): boolean;
/**
* @param {Function} filter_function
* @returns {boolean}
*/
  every(filter_function: Function): boolean;
/**
* @param {Function} filter_function
* @returns {ArrayDataset}
*/
  filter(filter_function: Function): ArrayDataset;
/**
* @param {Function} map_function
* @returns {ArrayDataset}
*/
  map(map_function: Function): ArrayDataset;
/**
* @param {any} imported
* @returns {boolean}
*/
  contains(imported: any): boolean;
/**
* @param {Function} reducer
* @param {any} initial_value
* @returns {any}
*/
  reduce(reducer: Function, initial_value: any): any;
/**
* @param {any} quads_as_jsvalue
*/
  addAll(quads_as_jsvalue: any): void;
/**
* @param {any} subject
* @param {any} predicate
* @param {any} object
* @param {any} graph
*/
  deleteMatches(subject: any, predicate: any, object: any, graph: any): void;
/**
* @param {Function} quad_run_iteratee
*/
  forEach(quad_run_iteratee: Function): void;
/**
* @returns {Array<any>}
*/
  toArray(): Array<any>;
/**
* @returns {string}
*/
  toString(): string;
/**
* @returns {Array<any>}
*/
  quads(): Array<any>;
/**
* @returns {RustExportIterator}
*/
  getIterator(): RustExportIterator;
/**
* @param {string} nquads
*/
  addNQuads(nquads: string): void;
/**
* @param {string} text
*/
  addTriG(text: string): void;
/**
* @returns {string}
*/
  toNQuads(): string;
/**
* @returns {number}
*/
  readonly rust_managed: number;
/**
* @returns {number}
*/
  readonly size: number;
}
/**
* Wrapper struct for every data factory function
*/
export class DataFactory {
  free(): void;
/**
* Builds an instance of a factory that builds RDF.JS compliant objects
* managed by Sophia 
*/
  constructor();
/**
* Returns a named node that concerns the given URL
* @param {string} value
* @returns {Term}
*/
  static namedNode(value: string): Term;
/**
* Returns a blank node that either contains the given URL or a randomly
* generated ID using Uuid v4
* @param {string | undefined} value
* @returns {Term}
*/
  static blankNode(value?: string): Term;
/**
* Returns a new ltieral. If `language_or_data` is a Named Node, it will
* be used as the datatype. If it is a string formatted using the BCP 47
* spefification il will be used as the language. If undefined, it will be
* string.
* @param {string | undefined} value_string
* @param {any} language_or_datatype
* @returns {Term}
*/
  static literal(value_string: string | undefined, language_or_datatype: any): Term;
/**
* Builds a literal using the passed BCP 47 formatted language
* @param {string} value
* @param {string} language
* @returns {Term}
*/
  static literalFromString(value: string, language: string): Term;
/**
* Builds a literal of passed the datatype
* @param {string} value
* @param {any} named_node
* @returns {Term}
*/
  static literalFromNamedNode(value: string, named_node: any): Term;
/**
* Builds a new variable
* @param {string | undefined} optional_value
* @returns {Term}
*/
  static variable(optional_value?: string): Term;
/**
* Returns a term that represents the default graph
* @returns {Term}
*/
  static defaultGraph(): Term;
/**
* Retuns a quad managed by Sophia's back end with the given subject,
* predicate, object and graph. If no graph is passed, the default graph
* will be used.
* @param {any} subject
* @param {any} predicate
* @param {any} object
* @param {any} graph
* @returns {Quad}
*/
  static quad(subject: any, predicate: any, object: any, graph: any): Quad;
/**
* Returns a quad managed by Sophia's back end with the given subject,
* predicate and object. The assigned graph will be the default graph.
* @param {any} subject
* @param {any} predicate
* @param {any} object
* @returns {Quad}
*/
  static triple(subject: any, predicate: any, object: any): Quad;
/**
* Returns a new term managed by Sophia's back end that is identical wrt
* RDF.JS specification
* @param {any} original
* @returns {Term}
*/
  static fromTerm(original: any): Term;
/**
* Returns a new quad managed by Sophia's back end that is identical wrt
* RDF.JS specification
* @param {any} original
* @returns {Quad}
*/
  static fromQuad(original: any): Quad;
/**
* Returns a dataset managed by Sophia's back end. `parameter` can either
* be undefined, another dataset or a sequence of quads. If `parameter`
* isn't undefined, the returned dataset will contain every quad in the
* given argument.
* @param {any} parameter
* @returns {TreeDataset}
*/
  static dataset(parameter: any): TreeDataset;
}
/**
*/
export class FastDataset {
  free(): void;
/**
*/
  constructor();
/**
* @param {any} quad
*/
  add(quad: any): void;
/**
* @param {any} quad
*/
  delete(quad: any): void;
/**
* @param {any} quad
* @returns {boolean}
*/
  has(quad: any): boolean;
/**
* @param {any} subject
* @param {any} predicate
* @param {any} object
* @param {any} graph
* @returns {FastDataset}
*/
  match(subject: any, predicate: any, object: any, graph: any): FastDataset;
/**
* @param {any} imported
* @returns {FastDataset}
*/
  difference(imported: any): FastDataset;
/**
* @param {any} imported
* @returns {FastDataset}
*/
  intersection(imported: any): FastDataset;
/**
* @param {any} imported
* @returns {FastDataset}
*/
  union(imported: any): FastDataset;
/**
* @param {any} imported
* @returns {boolean}
*/
  equals(imported: any): boolean;
/**
* @param {Function} filter_function
* @returns {boolean}
*/
  some(filter_function: Function): boolean;
/**
* @param {Function} filter_function
* @returns {boolean}
*/
  every(filter_function: Function): boolean;
/**
* @param {Function} filter_function
* @returns {FastDataset}
*/
  filter(filter_function: Function): FastDataset;
/**
* @param {Function} map_function
* @returns {FastDataset}
*/
  map(map_function: Function): FastDataset;
/**
* @param {any} imported
* @returns {boolean}
*/
  contains(imported: any): boolean;
/**
* @param {Function} reducer
* @param {any} initial_value
* @returns {any}
*/
  reduce(reducer: Function, initial_value: any): any;
/**
* @param {any} quads_as_jsvalue
*/
  addAll(quads_as_jsvalue: any): void;
/**
* @param {any} subject
* @param {any} predicate
* @param {any} object
* @param {any} graph
*/
  deleteMatches(subject: any, predicate: any, object: any, graph: any): void;
/**
* @param {Function} quad_run_iteratee
*/
  forEach(quad_run_iteratee: Function): void;
/**
* @returns {Array<any>}
*/
  toArray(): Array<any>;
/**
* @returns {string}
*/
  toString(): string;
/**
* @returns {Array<any>}
*/
  quads(): Array<any>;
/**
* @returns {RustExportIterator}
*/
  getIterator(): RustExportIterator;
/**
* @param {string} nquads
*/
  addNQuads(nquads: string): void;
/**
* @param {string} text
*/
  addTriG(text: string): void;
/**
* @returns {string}
*/
  toNQuads(): string;
/**
* @returns {number}
*/
  readonly rust_managed: number;
/**
* @returns {number}
*/
  readonly size: number;
}
/**
*/
export class FastDatasetToA {
  free(): void;
/**
*/
  constructor();
/**
* @param {any} quad
*/
  add(quad: any): void;
/**
* @param {any} quad
*/
  delete(quad: any): void;
/**
* @param {any} quad
* @returns {boolean}
*/
  has(quad: any): boolean;
/**
* @param {any} subject
* @param {any} predicate
* @param {any} object
* @param {any} graph
* @returns {FastDatasetToA}
*/
  match(subject: any, predicate: any, object: any, graph: any): FastDatasetToA;
/**
* @param {any} imported
* @returns {FastDatasetToA}
*/
  difference(imported: any): FastDatasetToA;
/**
* @param {any} imported
* @returns {FastDatasetToA}
*/
  intersection(imported: any): FastDatasetToA;
/**
* @param {any} imported
* @returns {FastDatasetToA}
*/
  union(imported: any): FastDatasetToA;
/**
* @param {any} imported
* @returns {boolean}
*/
  equals(imported: any): boolean;
/**
* @param {Function} filter_function
* @returns {boolean}
*/
  some(filter_function: Function): boolean;
/**
* @param {Function} filter_function
* @returns {boolean}
*/
  every(filter_function: Function): boolean;
/**
* @param {Function} filter_function
* @returns {FastDatasetToA}
*/
  filter(filter_function: Function): FastDatasetToA;
/**
* @param {Function} map_function
* @returns {FastDatasetToA}
*/
  map(map_function: Function): FastDatasetToA;
/**
* @param {any} imported
* @returns {boolean}
*/
  contains(imported: any): boolean;
/**
* @param {Function} reducer
* @param {any} initial_value
* @returns {any}
*/
  reduce(reducer: Function, initial_value: any): any;
/**
* @param {any} quads_as_jsvalue
*/
  addAll(quads_as_jsvalue: any): void;
/**
* @param {any} subject
* @param {any} predicate
* @param {any} object
* @param {any} graph
*/
  deleteMatches(subject: any, predicate: any, object: any, graph: any): void;
/**
* @param {Function} quad_run_iteratee
*/
  forEach(quad_run_iteratee: Function): void;
/**
* @returns {Array<any>}
*/
  toArray(): Array<any>;
/**
* @returns {string}
*/
  toString(): string;
/**
* @returns {Array<any>}
*/
  quads(): Array<any>;
/**
* @returns {RustExportIterator}
*/
  getIterator(): RustExportIterator;
/**
* @param {string} nquads
*/
  addNQuads(nquads: string): void;
/**
* @param {string} text
*/
  addTriG(text: string): void;
/**
* @returns {string}
*/
  toNQuads(): string;
/**
* @returns {number}
*/
  readonly rust_managed: number;
/**
* @returns {number}
*/
  readonly size: number;
}
/**
*/
export class FullDataset {
  free(): void;
/**
*/
  constructor();
/**
* @param {any} quad
*/
  add(quad: any): void;
/**
* @param {any} quad
*/
  delete(quad: any): void;
/**
* @param {any} quad
* @returns {boolean}
*/
  has(quad: any): boolean;
/**
* @param {any} subject
* @param {any} predicate
* @param {any} object
* @param {any} graph
* @returns {FullDataset}
*/
  match(subject: any, predicate: any, object: any, graph: any): FullDataset;
/**
* @param {any} imported
* @returns {FullDataset}
*/
  difference(imported: any): FullDataset;
/**
* @param {any} imported
* @returns {FullDataset}
*/
  intersection(imported: any): FullDataset;
/**
* @param {any} imported
* @returns {FullDataset}
*/
  union(imported: any): FullDataset;
/**
* @param {any} imported
* @returns {boolean}
*/
  equals(imported: any): boolean;
/**
* @param {Function} filter_function
* @returns {boolean}
*/
  some(filter_function: Function): boolean;
/**
* @param {Function} filter_function
* @returns {boolean}
*/
  every(filter_function: Function): boolean;
/**
* @param {Function} filter_function
* @returns {FullDataset}
*/
  filter(filter_function: Function): FullDataset;
/**
* @param {Function} map_function
* @returns {FullDataset}
*/
  map(map_function: Function): FullDataset;
/**
* @param {any} imported
* @returns {boolean}
*/
  contains(imported: any): boolean;
/**
* @param {Function} reducer
* @param {any} initial_value
* @returns {any}
*/
  reduce(reducer: Function, initial_value: any): any;
/**
* @param {any} quads_as_jsvalue
*/
  addAll(quads_as_jsvalue: any): void;
/**
* @param {any} subject
* @param {any} predicate
* @param {any} object
* @param {any} graph
*/
  deleteMatches(subject: any, predicate: any, object: any, graph: any): void;
/**
* @param {Function} quad_run_iteratee
*/
  forEach(quad_run_iteratee: Function): void;
/**
* @returns {Array<any>}
*/
  toArray(): Array<any>;
/**
* @returns {string}
*/
  toString(): string;
/**
* @returns {Array<any>}
*/
  quads(): Array<any>;
/**
* @returns {RustExportIterator}
*/
  getIterator(): RustExportIterator;
/**
* @param {string} nquads
*/
  addNQuads(nquads: string): void;
/**
* @param {string} text
*/
  addTriG(text: string): void;
/**
* @returns {string}
*/
  toNQuads(): string;
/**
* @returns {number}
*/
  readonly rust_managed: number;
/**
* @returns {number}
*/
  readonly size: number;
}
/**
*/
export class FullDatasetToA {
  free(): void;
/**
*/
  constructor();
/**
* @param {any} quad
*/
  add(quad: any): void;
/**
* @param {any} quad
*/
  delete(quad: any): void;
/**
* @param {any} quad
* @returns {boolean}
*/
  has(quad: any): boolean;
/**
* @param {any} subject
* @param {any} predicate
* @param {any} object
* @param {any} graph
* @returns {FullDatasetToA}
*/
  match(subject: any, predicate: any, object: any, graph: any): FullDatasetToA;
/**
* @param {any} imported
* @returns {FullDatasetToA}
*/
  difference(imported: any): FullDatasetToA;
/**
* @param {any} imported
* @returns {FullDatasetToA}
*/
  intersection(imported: any): FullDatasetToA;
/**
* @param {any} imported
* @returns {FullDatasetToA}
*/
  union(imported: any): FullDatasetToA;
/**
* @param {any} imported
* @returns {boolean}
*/
  equals(imported: any): boolean;
/**
* @param {Function} filter_function
* @returns {boolean}
*/
  some(filter_function: Function): boolean;
/**
* @param {Function} filter_function
* @returns {boolean}
*/
  every(filter_function: Function): boolean;
/**
* @param {Function} filter_function
* @returns {FullDatasetToA}
*/
  filter(filter_function: Function): FullDatasetToA;
/**
* @param {Function} map_function
* @returns {FullDatasetToA}
*/
  map(map_function: Function): FullDatasetToA;
/**
* @param {any} imported
* @returns {boolean}
*/
  contains(imported: any): boolean;
/**
* @param {Function} reducer
* @param {any} initial_value
* @returns {any}
*/
  reduce(reducer: Function, initial_value: any): any;
/**
* @param {any} quads_as_jsvalue
*/
  addAll(quads_as_jsvalue: any): void;
/**
* @param {any} subject
* @param {any} predicate
* @param {any} object
* @param {any} graph
*/
  deleteMatches(subject: any, predicate: any, object: any, graph: any): void;
/**
* @param {Function} quad_run_iteratee
*/
  forEach(quad_run_iteratee: Function): void;
/**
* @returns {Array<any>}
*/
  toArray(): Array<any>;
/**
* @returns {string}
*/
  toString(): string;
/**
* @returns {Array<any>}
*/
  quads(): Array<any>;
/**
* @returns {RustExportIterator}
*/
  getIterator(): RustExportIterator;
/**
* @param {string} nquads
*/
  addNQuads(nquads: string): void;
/**
* @param {string} text
*/
  addTriG(text: string): void;
/**
* @returns {string}
*/
  toNQuads(): string;
/**
* @returns {number}
*/
  readonly rust_managed: number;
/**
* @returns {number}
*/
  readonly size: number;
}
/**
*/
export class LightDataset {
  free(): void;
/**
*/
  constructor();
/**
* @param {any} quad
*/
  add(quad: any): void;
/**
* @param {any} quad
*/
  delete(quad: any): void;
/**
* @param {any} quad
* @returns {boolean}
*/
  has(quad: any): boolean;
/**
* @param {any} subject
* @param {any} predicate
* @param {any} object
* @param {any} graph
* @returns {LightDataset}
*/
  match(subject: any, predicate: any, object: any, graph: any): LightDataset;
/**
* @param {any} imported
* @returns {LightDataset}
*/
  difference(imported: any): LightDataset;
/**
* @param {any} imported
* @returns {LightDataset}
*/
  intersection(imported: any): LightDataset;
/**
* @param {any} imported
* @returns {LightDataset}
*/
  union(imported: any): LightDataset;
/**
* @param {any} imported
* @returns {boolean}
*/
  equals(imported: any): boolean;
/**
* @param {Function} filter_function
* @returns {boolean}
*/
  some(filter_function: Function): boolean;
/**
* @param {Function} filter_function
* @returns {boolean}
*/
  every(filter_function: Function): boolean;
/**
* @param {Function} filter_function
* @returns {LightDataset}
*/
  filter(filter_function: Function): LightDataset;
/**
* @param {Function} map_function
* @returns {LightDataset}
*/
  map(map_function: Function): LightDataset;
/**
* @param {any} imported
* @returns {boolean}
*/
  contains(imported: any): boolean;
/**
* @param {Function} reducer
* @param {any} initial_value
* @returns {any}
*/
  reduce(reducer: Function, initial_value: any): any;
/**
* @param {any} quads_as_jsvalue
*/
  addAll(quads_as_jsvalue: any): void;
/**
* @param {any} subject
* @param {any} predicate
* @param {any} object
* @param {any} graph
*/
  deleteMatches(subject: any, predicate: any, object: any, graph: any): void;
/**
* @param {Function} quad_run_iteratee
*/
  forEach(quad_run_iteratee: Function): void;
/**
* @returns {Array<any>}
*/
  toArray(): Array<any>;
/**
* @returns {string}
*/
  toString(): string;
/**
* @returns {Array<any>}
*/
  quads(): Array<any>;
/**
* @returns {RustExportIterator}
*/
  getIterator(): RustExportIterator;
/**
* @param {string} nquads
*/
  addNQuads(nquads: string): void;
/**
* @param {string} text
*/
  addTriG(text: string): void;
/**
* @returns {string}
*/
  toNQuads(): string;
/**
* @returns {number}
*/
  readonly rust_managed: number;
/**
* @returns {number}
*/
  readonly size: number;
}
/**
*/
export class LightDatasetToA {
  free(): void;
/**
*/
  constructor();
/**
* @param {any} quad
*/
  add(quad: any): void;
/**
* @param {any} quad
*/
  delete(quad: any): void;
/**
* @param {any} quad
* @returns {boolean}
*/
  has(quad: any): boolean;
/**
* @param {any} subject
* @param {any} predicate
* @param {any} object
* @param {any} graph
* @returns {LightDatasetToA}
*/
  match(subject: any, predicate: any, object: any, graph: any): LightDatasetToA;
/**
* @param {any} imported
* @returns {LightDatasetToA}
*/
  difference(imported: any): LightDatasetToA;
/**
* @param {any} imported
* @returns {LightDatasetToA}
*/
  intersection(imported: any): LightDatasetToA;
/**
* @param {any} imported
* @returns {LightDatasetToA}
*/
  union(imported: any): LightDatasetToA;
/**
* @param {any} imported
* @returns {boolean}
*/
  equals(imported: any): boolean;
/**
* @param {Function} filter_function
* @returns {boolean}
*/
  some(filter_function: Function): boolean;
/**
* @param {Function} filter_function
* @returns {boolean}
*/
  every(filter_function: Function): boolean;
/**
* @param {Function} filter_function
* @returns {LightDatasetToA}
*/
  filter(filter_function: Function): LightDatasetToA;
/**
* @param {Function} map_function
* @returns {LightDatasetToA}
*/
  map(map_function: Function): LightDatasetToA;
/**
* @param {any} imported
* @returns {boolean}
*/
  contains(imported: any): boolean;
/**
* @param {Function} reducer
* @param {any} initial_value
* @returns {any}
*/
  reduce(reducer: Function, initial_value: any): any;
/**
* @param {any} quads_as_jsvalue
*/
  addAll(quads_as_jsvalue: any): void;
/**
* @param {any} subject
* @param {any} predicate
* @param {any} object
* @param {any} graph
*/
  deleteMatches(subject: any, predicate: any, object: any, graph: any): void;
/**
* @param {Function} quad_run_iteratee
*/
  forEach(quad_run_iteratee: Function): void;
/**
* @returns {Array<any>}
*/
  toArray(): Array<any>;
/**
* @returns {string}
*/
  toString(): string;
/**
* @returns {Array<any>}
*/
  quads(): Array<any>;
/**
* @returns {RustExportIterator}
*/
  getIterator(): RustExportIterator;
/**
* @param {string} nquads
*/
  addNQuads(nquads: string): void;
/**
* @param {string} text
*/
  addTriG(text: string): void;
/**
* @returns {string}
*/
  toNQuads(): string;
/**
* @returns {number}
*/
  readonly rust_managed: number;
/**
* @returns {number}
*/
  readonly size: number;
}
/**
* A SophiaExportQuad owns its data in the form of four RcTerms.
*/
export class Quad {
  free(): void;
/**
* Returns a N-Quad representation of the quad 
* @returns {string}
*/
  toString(): string;
/**
* Returns true if the passed quad is identical to this quad according to
* RDF.JS specification ie the subject, predicate, object and graph are
* the same.
* @param {any} other
* @returns {boolean}
*/
  equals(other: any): boolean;
/**
* Returns a pointer to this quad.
* 
* This is mainly used to be able to detect a Rust managed quad from an
* imported quad (as wasm_bindgen doesn't let us use polymorphism).
* 
* Using this method can be very unsafe because it supposes only this
* object has a method called getRustPtr in the Javascript world. 
* @returns {number}
*/
  readonly getRustPtr: number;
/**
* Returns the graph of the quad
* @returns {Term}
*/
  graph: any;
/**
* Returns the object of the quad
* @returns {Term}
*/
  object: any;
/**
* Returns the predicate of the quad
* @returns {Term}
*/
  predicate: any;
/**
* Returns the subject of the quad
* @returns {Term}
*/
  subject: any;
}
/**
* An exportable iterator on that keeps an array of every elements that needs
* to be iterated on
*/
export class RustExportIterator {
  free(): void;
/**
* Returns an `RustExportIteratorNext` that contains to the next element.
* This corresponds to the next function in Javascript iterators.
* @returns {RustExportIteratorNext}
*/
  next(): RustExportIteratorNext;
}
/**
* An object that contains an element returned by `RustExportIterator::next`
*
* It follows the Javascript specification, having a `done` attribute that tells if the iterator is empty and a
* `value` attribute that contains the eventual value. They are modelized with an optional `JsValue`.
*/
export class RustExportIteratorNext {
  free(): void;
/**
* Return true if the iterator is empty
* @returns {boolean}
*/
  readonly done: boolean;
/**
* Return the possessed `JsValue`
* @returns {any}
*/
  readonly value: any;
}
/**
* Exportation of rust terms using an adapter that owns the term
*/
export class Term {
  free(): void;
/**
* Returns true if this term and the given term are equals according to
* RDF.JS specification.
* 
* Two terms are identical if their termType, value and eventual language
* or datatype are the same.
* @param {any} other
* @returns {boolean}
*/
  equals(other: any): boolean;
/**
* Returns the n3 representation of this term
* @returns {string}
*/
  toString(): string;
/**
* Returns the datatype of this term if applicable
* @returns {Term | undefined}
*/
  datatype: any;
/**
* Returns the language of this term or an empty string if not applicable
* @returns {string}
*/
  language: string;
/**
* Returns the term type of this term.
* 
* The returned value can either be NamedNode, BlankNode, Literal,
* Variable or DefaultGraph.
* @returns {string}
*/
  readonly termType: string;
/**
* Returns the value of this term
* @returns {string}
*/
  value: string;
}
/**
*/
export class TreeDataset {
  free(): void;
/**
*/
  constructor();
/**
* @param {any} quad
*/
  add(quad: any): void;
/**
* @param {any} quad
*/
  delete(quad: any): void;
/**
* @param {any} quad
* @returns {boolean}
*/
  has(quad: any): boolean;
/**
* @param {any} subject
* @param {any} predicate
* @param {any} object
* @param {any} graph
* @returns {TreeDataset}
*/
  match(subject: any, predicate: any, object: any, graph: any): TreeDataset;
/**
* @param {any} imported
* @returns {TreeDataset}
*/
  difference(imported: any): TreeDataset;
/**
* @param {any} imported
* @returns {TreeDataset}
*/
  intersection(imported: any): TreeDataset;
/**
* @param {any} imported
* @returns {TreeDataset}
*/
  union(imported: any): TreeDataset;
/**
* @param {any} imported
* @returns {boolean}
*/
  equals(imported: any): boolean;
/**
* @param {Function} filter_function
* @returns {boolean}
*/
  some(filter_function: Function): boolean;
/**
* @param {Function} filter_function
* @returns {boolean}
*/
  every(filter_function: Function): boolean;
/**
* @param {Function} filter_function
* @returns {TreeDataset}
*/
  filter(filter_function: Function): TreeDataset;
/**
* @param {Function} map_function
* @returns {TreeDataset}
*/
  map(map_function: Function): TreeDataset;
/**
* @param {any} imported
* @returns {boolean}
*/
  contains(imported: any): boolean;
/**
* @param {Function} reducer
* @param {any} initial_value
* @returns {any}
*/
  reduce(reducer: Function, initial_value: any): any;
/**
* @param {any} quads_as_jsvalue
*/
  addAll(quads_as_jsvalue: any): void;
/**
* @param {any} subject
* @param {any} predicate
* @param {any} object
* @param {any} graph
*/
  deleteMatches(subject: any, predicate: any, object: any, graph: any): void;
/**
* @param {Function} quad_run_iteratee
*/
  forEach(quad_run_iteratee: Function): void;
/**
* @returns {Array<any>}
*/
  toArray(): Array<any>;
/**
* @returns {string}
*/
  toString(): string;
/**
* @returns {Array<any>}
*/
  quads(): Array<any>;
/**
* @returns {RustExportIterator}
*/
  getIterator(): RustExportIterator;
/**
* @param {string} nquads
*/
  addNQuads(nquads: string): void;
/**
* @param {string} text
*/
  addTriG(text: string): void;
/**
* @returns {string}
*/
  toNQuads(): string;
/**
* @returns {number}
*/
  getNumberOfLivingTrees(): number;
/**
* @param {boolean} s
* @param {boolean} p
* @param {boolean} o
* @param {boolean} g
*/
  ensureHasIndexFor(s: boolean, p: boolean, o: boolean, g: boolean): void;
/**
* @returns {number}
*/
  readonly rust_managed: number;
/**
* @returns {number}
*/
  readonly size: number;
}
/**
*/
export class TreeDatasetToA {
  free(): void;
/**
*/
  constructor();
/**
* @param {any} quad
*/
  add(quad: any): void;
/**
* @param {any} quad
*/
  delete(quad: any): void;
/**
* @param {any} quad
* @returns {boolean}
*/
  has(quad: any): boolean;
/**
* @param {any} subject
* @param {any} predicate
* @param {any} object
* @param {any} graph
* @returns {TreeDatasetToA}
*/
  match(subject: any, predicate: any, object: any, graph: any): TreeDatasetToA;
/**
* @param {any} imported
* @returns {TreeDatasetToA}
*/
  difference(imported: any): TreeDatasetToA;
/**
* @param {any} imported
* @returns {TreeDatasetToA}
*/
  intersection(imported: any): TreeDatasetToA;
/**
* @param {any} imported
* @returns {TreeDatasetToA}
*/
  union(imported: any): TreeDatasetToA;
/**
* @param {any} imported
* @returns {boolean}
*/
  equals(imported: any): boolean;
/**
* @param {Function} filter_function
* @returns {boolean}
*/
  some(filter_function: Function): boolean;
/**
* @param {Function} filter_function
* @returns {boolean}
*/
  every(filter_function: Function): boolean;
/**
* @param {Function} filter_function
* @returns {TreeDatasetToA}
*/
  filter(filter_function: Function): TreeDatasetToA;
/**
* @param {Function} map_function
* @returns {TreeDatasetToA}
*/
  map(map_function: Function): TreeDatasetToA;
/**
* @param {any} imported
* @returns {boolean}
*/
  contains(imported: any): boolean;
/**
* @param {Function} reducer
* @param {any} initial_value
* @returns {any}
*/
  reduce(reducer: Function, initial_value: any): any;
/**
* @param {any} quads_as_jsvalue
*/
  addAll(quads_as_jsvalue: any): void;
/**
* @param {any} subject
* @param {any} predicate
* @param {any} object
* @param {any} graph
*/
  deleteMatches(subject: any, predicate: any, object: any, graph: any): void;
/**
* @param {Function} quad_run_iteratee
*/
  forEach(quad_run_iteratee: Function): void;
/**
* @returns {Array<any>}
*/
  toArray(): Array<any>;
/**
* @returns {string}
*/
  toString(): string;
/**
* @returns {Array<any>}
*/
  quads(): Array<any>;
/**
* @returns {RustExportIterator}
*/
  getIterator(): RustExportIterator;
/**
* @param {string} nquads
*/
  addNQuads(nquads: string): void;
/**
* @param {string} text
*/
  addTriG(text: string): void;
/**
* @returns {string}
*/
  toNQuads(): string;
/**
* @returns {number}
*/
  readonly rust_managed: number;
/**
* @returns {number}
*/
  readonly size: number;
}
