import type * as RDF from '@rdfjs/types'; import type { BasicGraphPattern, TripleCollection, TripleNesting } from '@traqula/rules-sparql-1-1'; import type { Algebra } from '../index.js'; import type { AlgebraIndir, FlattenedTriple } from './core.js'; export declare const translateTripleCollection: AlgebraIndir<'translateTripleCollection', void, [TripleCollection, FlattenedTriple[]]>; /** * When flattening, nested subject triples first, followed by nested object triples, lastly the current tripple. */ export declare const translateBasicGraphPattern: AlgebraIndir<'translateBasicGraphPattern', void, [BasicGraphPattern, FlattenedTriple[]]>; /** * Generates: everything for the subject collection + everything for the object collection + itself */ export declare const translateTripleNesting: AlgebraIndir<'translateTripleNesting', void, [TripleNesting, FlattenedTriple[]]>; /** * Translate terms to be of some graph * @param c algebraContext * @param algOp algebra operation to translate * @param graph that should be assigned to the triples in algOp * @param replacement used for replacing shadowed variables. */ export declare const recurseGraph: AlgebraIndir<'recurseGraph', Algebra.Operation, [Algebra.Operation, RDF.Term, RDF.Variable | undefined]>; export declare const translateQuad: AlgebraIndir<'translateQuad', Algebra.Pattern, [FlattenedTriple]>;