import CombinedTag from "../combinedTag"; import { ByteVector } from "../byteVector"; import { File, ReadStyle } from "../file"; import { Tag, TagTypes } from "../tag"; /** * Provides support for accessing and modifying a collection of tags appearing at the end of a * file. * This class is used by {@link SandwichFile} to read all tags appearing at the end of the file * but could be used by other classes. It currently supports ID3v1, ID3v2, and APE tags. */ export default class EndTag extends CombinedTag { /** * List of tag types supported by the sandwich file's end tag. */ static readonly SUPPORTED_TAG_TYPES: TagTypes; /** * Constructs and initializes a new instance of an end tab by reading a file from the end until * non-tag contents are found. * @param file File to read the tags from * @param readStyle */ constructor(file: File, readStyle: ReadStyle); /** @inheritDoc */ createTag(type: TagTypes, copy: boolean): Tag; /** * Renders the tags contained in the current instance. ID3v1 tag always goes at the end. * @returns Physical representation of the tags stored in the current instance */ render(): ByteVector; private read; }