import MatroskaTagValue from "./matroskaTagValue"; import { MatroskaTagTarget } from "./matroskaTagTarget"; /** * Abstraction on that represents the combination of a Matroska simple tag and a tag target. * @remarks * This is different from the tag concept in Matroska. This is a 1:1 relation between * target and value while Matroska tags are 1:many relationship of target to tag. Therefore, * the target must be cloned when constructing >1 tag with the same target. */ export default class MatroskaTag { private readonly _value; private readonly _target; /** * Constructs and initializes a new instance using a simple tag and a target. * @param value Tag value to store in the instance * @param target Tag target that the tag instance applies to */ constructor(value: MatroskaTagValue, target: MatroskaTagTarget); /** * Target that the tag value applies to */ get target(): MatroskaTagTarget; /** * Value of the tag */ get value(): MatroskaTagValue; }