<?php
namespace {
    /**
     * Get an image size by name or defined dimensions.
     *
     * The returned variable is filtered by woocommerce_get_image_size_{image_size} filter to
     * allow 3rd party customisation.
     *
     * Sizes defined by the theme take priority over settings. Settings are hidden when a theme
     * defines sizes.
     *
     * @param array|string $image_size Name of the image size to get, or an array of dimensions.
     * @return array Array of dimensions including width, height, and cropping mode. Cropping mode is 0 for no crop, and 1 for hard crop.
     * @see https://docs.woocommerce.com/wc-apidocs/function-wc_get_image_size.html
     */
    function wc_get_image_size() {
        // Silence is golden.
    }

    /**
     * See Real Thumbnail Generator.
     */
    class BFI_Image_Editor_GD_1_3 extends WP_Image_Editor_GD {
        /**
         * C'tor.
         *
         * @param string $file
         */
        public function __construct($file) {
            // Silence is golden.
        }
    }

    /**
     * See Real Thumbnail Generator.
     */
    class BFI_Image_Editor_Imagick_1_3 extends WP_Image_Editor_Imagick {
        /**
         * C'tor.
         *
         * @param string $file
         */
        public function __construct($file) {
            // Silence is golden.
        }
    }

    /**
     * See Real Thumbnail Generator.
     *
     * @see https://github.com/nosilver4u/ewww-image-optimizer
     */
    class EWWWIO_GD_Editor extends WP_Image_Editor_GD {
        /**
         * C'tor.
         *
         * @param string $file
         */
        public function __construct($file) {
            // Silence is golden.
        }
    }

    /**
     * See Real Thumbnail Generator.
     *
     * @see https://github.com/gitlost/gs-only-pdf-preview
     */
    class GOPP_Image_Editor_GS extends WP_Image_Editor_Imagick {
        // Use `extends _Imagick` to simulate implemented methods

        /**
         * C'tor.
         *
         * @param string $file
         */
        public function __construct($file) {
            // Silence is golden.
        }
    }

    /**
     * See Real Thumbnail Generator.
     *
     * @see https://github.com/nosilver4u/ewww-image-optimizer
     */
    class EWWWIO_Imagick_Editor extends WP_Image_Editor_Imagick {
        /**
         * C'tor.
         *
         * @param string $file
         */
        public function __construct($file) {
            // Silence is golden.
        }
    }

    /**
     * See Real Thumbnail Generator.
     *
     * @see https://wordpress.org/plugins/simple-matted-thumbnails/
     */
    class WP_Image_Editor_GD_Matted extends WP_Image_Editor_GD {
        /**
         * C'tor.
         *
         * @param string $file
         */
        public function __construct($file) {
            // Silence is golden.
        }
    }

    /**
     * See Real Thumbnail Generator.
     */
    class WP_Thumb_Image_Editor_GD extends WP_Image_Editor_GD {
        /**
         * C'tor.
         *
         * @param string $file
         */
        public function __construct($file) {
            // Silence is golden.
        }
    }

    /**
     * See Real Thumbnail Generator.
     */
    class WP_Thumb_Image_Editor_Imagick extends WP_Image_Editor_Imagick {
        /**
         * C'tor.
         *
         * @param string $file
         */
        public function __construct($file) {
            // Silence is golden.
        }
    }
}
