import type * as RDF from '@rdfjs/types'; import type { Expression, ExpressionAggregate, Ordering, PatternBind, Query, Wildcard } from '@traqula/rules-sparql-1-1'; import type { Algebra } from '../index.js'; import type { AlgebraIndir } from './core.js'; /** * 18.2.4 */ export declare const translateAggregates: AlgebraIndir<'translateAggregates', Algebra.Operation, [Query, Algebra.Operation]>; export type MapAggregateType = Wildcard | Expression | Ordering | PatternBind; /** * Rewrites some of the input sparql object to make use of aggregate variables * It thus replaces aggregates by their representative variable and registers the mapping. */ export declare const mapAggregate: AlgebraIndir<'mapAggregate', MapAggregateType, [MapAggregateType, Record]>; export declare const translateBoundAggregate: AlgebraIndir<'translateBoundAggregate', Algebra.BoundAggregate, [ExpressionAggregate, RDF.Variable]>;