UNPKG

697 BTypeScriptView Raw
1import { Term } from "./term";
2export declare function isVariableLike<Value extends string = string>(given: unknown, value?: Value): given is VariableLike<Value>;
3export declare function isVariable<Value extends string = string>(given: unknown, value?: Value): given is Variable;
4export interface Variable<Value extends string = string> extends Term<"Variable", Value> {
5 equals(other: unknown): other is VariableLike<Value>;
6}
7export declare class Variable<Value extends string = string> extends Term<"Variable", Value> implements Variable<Value> {
8 constructor(value: Value);
9}
10export declare type VariableLike<Value extends string = string> = Pick<Variable<Value>, "termType" | "value">;