//#region node_modules/@adguard/agtree/dist/utils/adblockers.js
/**
* @file Possible adblock syntaxes are listed here.
*/
/**
* Adblock products (specific adblockers, excludes 'Common').
*/
var AdblockProduct = {
	/**
	* Adblock Plus.
	*
	* @see {@link https://adblockplus.org/}
	*/
	Abp: "AdblockPlus",
	/**
	* uBlock Origin.
	*
	* @see {@link https://github.com/gorhill/uBlock}
	*/
	Ubo: "UblockOrigin",
	/**
	* AdGuard.
	*
	* @see {@link https://adguard.com/}
	*/
	Adg: "AdGuard"
};
/**
* Possible adblock syntaxes (supported by this library)
*/
var AdblockSyntax = {
	/**
	* Common syntax, which is supported by more than one adblocker (or by all adblockers).
	*
	* We typically use this syntax when we cannot determine the concrete syntax of the rule,
	* because the syntax is used by more than one adblocker natively.
	*
	* @example
	* - `||example.org^$important` is a common syntax, since it is used by all adblockers natively, and
	* we cannot determine at parsing level whether `important` is a valid option or not, and if it is valid,
	* then which adblocker supports it.
	*/
	Common: "Common",
	/**
	* Adblock Plus syntax.
	*
	* @example
	* - `example.org#$#abort-on-property-read alert` is an Adblock Plus syntax, since it is not used by any other
	* adblockers directly (probably supported by some on-the-fly conversion, but this is not the native syntax).
	* @see {@link https://adblockplus.org/}
	*/
	Abp: AdblockProduct.Abp,
	/**
	* uBlock Origin syntax.
	*
	* @example
	* - `example.com##+js(set, atob, noopFunc)` is an uBlock Origin syntax, since it is not used by any other
	* adblockers directly (probably supported by some on-the-fly conversion, but this is not the native syntax).
	* @see {@link https://github.com/gorhill/uBlock}
	*/
	Ubo: AdblockProduct.Ubo,
	/**
	* AdGuard syntax.
	*
	* @example
	* - `example.org#%#//scriptlet("abort-on-property-read", "alert")` is an AdGuard syntax, since it is not used
	* by any other adblockers directly (probably supported by some on-the-fly conversion, but this is not the native
	* syntax).
	* @see {@link https://adguard.com/}
	*/
	Adg: AdblockProduct.Adg
};
new Map([
	[AdblockProduct.Abp, "AdBlock / Adblock Plus"],
	[AdblockProduct.Ubo, "uBlock Origin"],
	[AdblockProduct.Adg, "AdGuard"]
]);
//#endregion
export { AdblockProduct, AdblockSyntax };
