//#region node_modules/.pnpm/music-metadata@11.11.2/node_modules/music-metadata/lib/ParseError.js
const makeParseError = (name) => {
	return class ParseError extends Error {
		constructor(message) {
			super(message);
			this.name = name;
		}
	};
};
var CouldNotDetermineFileTypeError = class extends makeParseError("CouldNotDetermineFileTypeError") {};
var UnsupportedFileTypeError = class extends makeParseError("UnsupportedFileTypeError") {};
var UnexpectedFileContentError = class extends makeParseError("UnexpectedFileContentError") {
	constructor(fileType, message) {
		super(message);
		this.fileType = fileType;
	}
	toString() {
		return `${this.name} (FileType: ${this.fileType}): ${this.message}`;
	}
};
var FieldDecodingError = class extends makeParseError("FieldDecodingError") {};
var InternalParserError = class extends makeParseError("InternalParserError") {};
const makeUnexpectedFileContentError = (fileType) => {
	return class extends UnexpectedFileContentError {
		constructor(message) {
			super(fileType, message);
		}
	};
};

//#endregion
//#region node_modules/.pnpm/music-metadata@11.11.2/node_modules/music-metadata/lib/common/BasicParser.js
var BasicParser = class {
	/**
	* Initialize parser with output (metadata), input (tokenizer) & parsing options (options).
	* @param {INativeMetadataCollector} metadata Output
	* @param {ITokenizer} tokenizer Input
	* @param {IOptions} options Parsing options
	*/
	constructor(metadata, tokenizer, options) {
		this.metadata = metadata;
		this.tokenizer = tokenizer;
		this.options = options;
	}
};

//#endregion
export { UnsupportedFileTypeError as a, InternalParserError as i, CouldNotDetermineFileTypeError as n, makeParseError as o, FieldDecodingError as r, makeUnexpectedFileContentError as s, BasicParser as t };