import type * as RDF from '@rdfjs/types'; import type { IndirDef } from '@traqula/core'; import type { PathPure } from '@traqula/rules-sparql-1-1'; import { AstFactory, AstTransformer } from '@traqula/rules-sparql-1-1'; import * as Algebra from '../algebra.js'; import { AlgebraFactory } from '../algebraFactory.js'; export interface AlgebraContext { variables: Set; varCount: number; useQuads: boolean; algebraFactory: AlgebraFactory; transformer: AstTransformer; astFactory: AstFactory; dataFactory: RDF.DataFactory & { variable: Function; }; currentBase: string | undefined; currentPrefixes: Record; } export interface ContextConfigs { dataFactory?: RDF.DataFactory & { variable: Function; }; quads?: boolean; prefixes?: Record; baseIRI?: string; blankToVariable?: boolean; } export declare function createAlgebraContext(config: ContextConfigs): AlgebraContext; export type AlgebraIndir = IndirDef; export interface FlattenedTriple { subject: RDF.Term; predicate: RDF.Term | PathPure; object: RDF.Term; } export declare const types: typeof Algebra.Types; export declare const typeVals: Algebra.Types[]; export declare function isTerm(term: any): term is RDF.Term; export declare function isTriple(triple: any): triple is RDF.Quad; export declare function isVariable(term: RDF.Term): term is RDF.Variable;