/**
 * Applies a transformation to an asset. Such as performing mesh simplification, for example.
 * Transformation is executed by the {@link AssetManager}
 * Useful for modifying/extending post-processing done on various asset types
 * @template {Asset<T>} A
 * @template T
 */
export class AssetTransformer {
    /**
     * @param {A} source
     * @param {AssetDescription} asset_description
     * @returns {A}
     */
    async transform(source, asset_description) {
        throw new Error('Not Implemented');
    }
}
