import type { IActorQueryOperationTypedMediatedArgs } from '@comunica/bus-query-operation'; import { ActorQueryOperationTypedMediated } from '@comunica/bus-query-operation'; import type { IActorTest, TestResult } from '@comunica/core'; import type { Bindings, IActionContext, IQueryOperationResult } from '@comunica/types'; import type { Algebra } from '@comunica/utils-algebra'; import type * as RDF from '@rdfjs/types'; /** * A comunica Distinct Identity Query Operation Actor. */ export declare class ActorQueryOperationDistinctIdentity extends ActorQueryOperationTypedMediated { constructor(args: IActorQueryOperationDistinctIdentityArgs); testOperation(_operation: Algebra.Distinct, _context: IActionContext): Promise>; runOperation(operation: Algebra.Distinct, context: IActionContext): Promise; /** * Create a new distinct filter function. * This will maintain an internal Identity datastructure so that every bindings object only returns true once. * @param variables The variables to take into account while hashing. * @return {(bindings: Bindings) => boolean} A distinct filter for bindings. */ newIdentityFilter(variables: RDF.Variable[]): Promise<(bindings: Bindings) => boolean>; /** * Create a new distinct filter function to Identity quads. * This will maintain an internal Identity datastructure so that every quad object only returns true once. * @return {(quad: RDF.Quad) => boolean} A distinct filter for quads. */ newIdentityFilterQuads(): Promise<(quad: RDF.Quad) => boolean>; } export interface IActorQueryOperationDistinctIdentityArgs extends IActorQueryOperationTypedMediatedArgs { }