import { Dataset, Literal, Quad, Quad_Object } from "@rdfjs/types"; import { PredicateType, SubjectType } from "../types"; import { LanguageKey, LanguageOrdering } from "./languageTypes"; /** * * @param dataset * @param subject * @param predicate * @param languageKey * @returns */ export declare function languageMatch(dataset: Dataset, subject: SubjectType, predicate: PredicateType, languageKey: LanguageKey): Dataset; /** * * @param dataset * @param subject * @param predicate * @param languageKey */ export declare function languageDeleteMatch(dataset: Dataset, subject: SubjectType, predicate: PredicateType, languageKey: LanguageKey): void; /** * Given a node, will return true if that node is a literal that could have a * language. This does not guarantee that it is a language literal. * @param node the node to test * @returns boolean */ export declare function isLanguageLiteral(node: Quad_Object): node is Literal; export interface LiteralObjectQuad extends Quad { object: Literal; } export declare function quadsToLanguageQuadMap(quads: Dataset): Record>; export declare function filterQuadsByLanguageOrdering(quads: Dataset, languageOrdering: LanguageOrdering): Dataset; export declare function getLanguageKeyForWriteOperation(languageOrdering: LanguageOrdering): LanguageKey | undefined; export declare function languageKeyToLiteralLanguage(languageKey: string | symbol): string; export declare function literalLanguageToLanguageKey(literalLanguage: string): string;