import { IName, IType, IValue } from './interfaces.mjs' export interface INameType extends IName, IType {} export interface INameTypeValue extends IName, IType, IValue {} export interface INameValue extends IName, IValue {} export class NameValue implements INameValue { name: Tname value: Tvalue constructor(name: Tname, value: Tvalue) { this.name = name this.value = value } } export class NameValueType extends NameValue implements INameTypeValue { type: TType constructor(name: TName, value: TValue, type: TType) { super(name, value) this.type = type } } export type NameValueAsType = { name: Tname value: Tvalue } export type INameValueBoolean = INameValue export type INameValueNumber = INameValue export type NameValueBoolean = NameValueType export type NameValueNumber = NameValueType export type NameValueString = NameValueType