import type { Renderer } from './Renderer';
/**
 * System is a base class used for extending systems used by the PIXI.Renderer
 *
 * @see PIXI.Renderer#addSystem
 * @class
 * @memberof PIXI
 */
export class System
{
    // public because of Filter usage,
    // protected because usually renderer it already known by those who use the system
    renderer: Renderer;
    /**
     * @param {Renderer} renderer - The renderer this manager works for.
     */
    constructor(renderer: Renderer)
    {
        /**
         * The renderer this manager works for.
         *
         * @member {PIXI.Renderer}
         */
        this.renderer = renderer;
    }
    /**
     * Generic destroy methods to be overridden by the subclass
     */
    destroy(): void
    {
        (this as any).renderer = null;
    }
}