import type * as RDF from '@rdfjs/types'; import * as A from './algebra.js'; /** * Factory for creating SPARQL Algebra operation objects. * Provides methods for every algebra operation type defined in * [SPARQL 1.1 Algebra](https://www.w3.org/TR/sparql11-query/#sparqlAlgebra). */ export declare class AlgebraFactory { dataFactory: RDF.DataFactory; stringType: RDF.NamedNode; constructor(dataFactory?: RDF.DataFactory); createAlt(input: A.BaseOperation[], flatten?: boolean): A.Alt; createAsk(input: A.BaseOperation): A.Ask; createBoundAggregate(variable: RDF.Variable, aggregate: string, expression: A.BaseExpression, distinct: boolean, separator?: string): A.BoundAggregate; createBgp(patterns: A.Pattern[]): A.Bgp; createConstruct(input: A.BaseOperation, template: A.Pattern[]): A.Construct; createDescribe(input: A.BaseOperation, terms: (RDF.Variable | RDF.NamedNode)[]): A.Describe; createDistinct(input: A.BaseOperation): A.Distinct; createExtend(input: A.BaseOperation, variable: RDF.Variable, expression: A.BaseExpression): A.Extend; createFrom(input: A.BaseOperation, def: RDF.NamedNode[], named: RDF.NamedNode[]): A.From; createFilter(input: A.BaseOperation, expression: A.BaseExpression): A.Filter; createGraph(input: A.BaseOperation, name: RDF.Variable | RDF.NamedNode): A.Graph; createGroup(input: A.BaseOperation, variables: RDF.Variable[], aggregates: A.BaseOperation[]): A.Group; createInv(path: A.BaseOperation): A.Inv; createJoin(input: A.BaseOperation[], flatten?: boolean): A.Join; createLeftJoin(left: A.BaseOperation, right: A.BaseOperation, expression?: A.BaseExpression): A.LeftJoin; createLink(iri: RDF.NamedNode): A.Link; createMinus(left: A.BaseOperation, right: A.BaseOperation): A.Minus; createNop(): A.Nop; createNps(iris: RDF.NamedNode[]): A.Nps; createOneOrMorePath(path: A.BaseOperation): A.OneOrMorePath; createOrderBy(input: A.BaseOperation, expressions: A.BaseExpression[]): A.OrderBy; createPath(subject: RDF.Term, predicate: A.BaseOperation, object: RDF.Term, graph?: RDF.Term): A.Path; createPattern(subject: RDF.Term, predicate: RDF.Term, object: RDF.Term, graph?: RDF.Term): A.Pattern; createProject(input: A.BaseOperation, variables: RDF.Variable[]): A.Project; createReduced(input: A.BaseOperation): A.Reduced; createSeq(input: A.BaseOperation[], flatten?: boolean): A.Seq; createService(input: A.BaseOperation, name: RDF.NamedNode | RDF.Variable, silent?: boolean): A.Service; createSlice(input: A.BaseOperation, start: number, length?: number): A.Slice; createUnion(input: A.BaseOperation[], flatten?: boolean): A.Union; createValues(variables: RDF.Variable[], bindings: Record[]): A.Values; createZeroOrMorePath(path: A.BaseOperation): A.ZeroOrMorePath; createZeroOrOnePath(path: A.BaseOperation): A.ZeroOrOnePath; createAggregateExpression(aggregator: string, expression: A.BaseExpression, distinct: boolean, separator?: string): A.AggregateExpression; createExistenceExpression(not: boolean, input: A.BaseOperation): A.ExistenceExpression; createNamedExpression(name: RDF.NamedNode, args: A.BaseExpression[]): A.NamedExpression; createOperatorExpression(operator: string, args: A.BaseExpression[]): A.OperatorExpression; createTermExpression(term: RDF.Term): A.TermExpression; createWildcardExpression(): A.WildcardExpression; createTerm(str: string): RDF.Term; createCompositeUpdate(updates: A.BaseOperation[]): A.CompositeUpdate; createDeleteInsert(deleteQuads?: A.Pattern[], insertQuads?: A.Pattern[], where?: A.BaseOperation): A.DeleteInsert; createLoad(source: RDF.NamedNode, destination?: RDF.NamedNode, silent?: boolean): A.Load; createClear(source: 'DEFAULT' | 'NAMED' | 'ALL' | RDF.NamedNode, silent?: boolean): A.Clear; createCreate(source: RDF.NamedNode, silent?: boolean): A.Create; createDrop(source: 'DEFAULT' | 'NAMED' | 'ALL' | RDF.NamedNode, silent?: boolean): A.Drop; createAdd(source: 'DEFAULT' | RDF.NamedNode, destination: 'DEFAULT' | RDF.NamedNode, silent?: boolean): A.Add; createMove(source: 'DEFAULT' | RDF.NamedNode, destination: 'DEFAULT' | RDF.NamedNode, silent?: boolean): A.Move; createCopy(source: 'DEFAULT' | RDF.NamedNode, destination: 'DEFAULT' | RDF.NamedNode, silent?: boolean): A.Copy; private addSilent; private flattenMulti; }