import type { Literal, NamedNode } from "@rdfjs/types"; import type { Url, UrlString, Thing, ThingPersisted } from "../interfaces"; import type { Time } from "../datatypes"; /** * Create a new Thing with all values removed for the given Property. * * The original `thing` is not modified; this function returns a cloned Thing with updated values. * * @param thing [[Thing]] to remove values from. * @param property Property for which to remove all values from the Thing. * @returns A new Thing equal to the input Thing with all values removed for the given Property. */ export declare function removeAll(thing: T, property: Url | UrlString): T; /** * Create a new Thing with the given URL removed for the given Property. * * The original `thing` is not modified; this function returns a cloned Thing with updated values. * * @param thing Thing to remove a URL value from. * @param property Property for which to remove the given URL value. * @param value URL to remove from `thing` for the given `Property`. * @returns A new Thing equal to the input Thing with the given value removed for the given Property. */ export declare const removeUrl: RemoveOfType; /** @hidden Alias of [[removeUrl]] for those who prefer IRI terminology. */ export declare const removeIri: RemoveOfType; /** * Create a new Thing with the given boolean removed for the given Property. * * The original `thing` is not modified; this function returns a cloned Thing with updated values. * * @param thing Thing to remove a boolean value from. * @param property Property for which to remove the given boolean value. * @param value Boolean to remove from `thing` for the given `property`. * @returns A new Thing equal to the input Thing with the given value removed for the given Property. */ export declare const removeBoolean: RemoveOfType; /** * Create a new Thing with the given datetime removed for the given Property. * * The original `thing` is not modified; this function returns a cloned Thing with updated values. * * @param thing Thing to remove a datetime value from. * @param property Property for which to remove the given datetime value. * @param value Datetime to remove from `thing` for the given `property`. * @returns A new Thing equal to the input Thing with the given value removed for the given Property. */ export declare const removeDatetime: RemoveOfType; /** * Create a new Thing with the given date removed for the given Property. * * The original `thing` is not modified; this function returns a cloned Thing with updated values. * * @param thing Thing to remove a date value from. * @param property Property for which to remove the given date value. * @param value Date to remove from `thing` for the given `property`. * @returns A new Thing equal to the input Thing with the given value removed for the given Property. * @since 1.10.0 */ export declare const removeDate: RemoveOfType; /** * Create a new Thing with the given datetime removed for the given Property. * * The original `thing` is not modified; this function returns a cloned Thing with updated values. * * @param thing Thing to remove a datetime value from. * @param property Property for which to remove the given datetime value. * @param value Time to remove from `thing` for the given `property`. * @returns A new Thing equal to the input Thing with the given value removed for the given Property. * @since 1.10.0 */ export declare const removeTime: RemoveOfType