/* eslint-disable @typescript-eslint/method-signature-style */ import type { Quad, Literal, NamedNode } from '@rdfjs/types'; import type { Update, AskQuery, SelectQuery, ConstructQuery } from 'sparqljs'; export type SelectVariableQueryResult = Record; export interface QueryExecutor { /** * Executes a SPARQL select or construct query. */ executeSparqlSelectAndGetData< TQuery extends SelectQuery | ConstructQuery, TReturn extends SelectVariableQueryResult | Quad = TQuery extends SelectQuery ? SelectVariableQueryResult : Quad >( query: TQuery, ): Promise; /** * Executes a raw SPARQL select query. */ executeSparqlSelectAndGetDataRaw( query: string, ): Promise[]>; /** * Executes a raw SPARQL construct query. */ executeSparqlConstructAndGetDataRaw( query: string, ): Promise; /** * Executes a SPARQL update query. */ executeSparqlUpdate(query: Update): Promise; /** * Executes a raw SPARQL update query. */ executeRawSparqlUpdate(query: string,): Promise; /** * Executes a SPARQL ask query. */ executeAskQueryAndGetResponse(query: AskQuery): Promise; /** * Executes a SPARQL select query. */ executeSelectCountAndGetResponse(query: SelectQuery): Promise; }