1 | import { Term } from "./term";
|
2 | import { NamedNode } from "./named-node";
|
3 | import { NamedNodeLike } from "./named-node";
|
4 | export declare function isLiteralLike<Value extends string = string>(given: unknown, value?: Value): given is LiteralLike<Value>;
|
5 | export declare function isLiteral<Value extends string = string>(given: unknown, value?: Value): given is Literal<Value>;
|
6 | export interface Literal<Value extends string = string, Language extends string = string, DataType extends NamedNode = NamedNode> extends Term<"Literal", Value> {
|
7 | readonly language: Language;
|
8 | readonly datatype: DataType;
|
9 | equals(other: unknown): other is LiteralLike<Value>;
|
10 | }
|
11 | export declare class Literal<Value extends string = string, Language extends string = string, DataType extends NamedNode = NamedNode> extends Term<"Literal", Value> implements Literal<Value, Language, DataType> {
|
12 | readonly language: Language;
|
13 | readonly datatype: DataType;
|
14 | constructor(value: Value, language: Language, datatype: DataType);
|
15 | toJSON(): {
|
16 | termType: "Literal";
|
17 | value: Value;
|
18 | language: Language;
|
19 | datatype: DataType;
|
20 | };
|
21 | }
|
22 | export declare type LiteralLike<Value extends string = string> = Pick<Literal<Value>, "termType" | "value" | "language"> & {
|
23 | datatype?: NamedNodeLike;
|
24 | };
|