<?php
declare(strict_types=1);

// THIS FILE IS AUTO-GENERATED. DO NOT EDIT MANUALLY.

namespace Automattic\WooCommerce\Internal\Api\Autogenerated;

use Automattic\WooCommerce\Internal\Api\Autogenerated\GraphQLMutations\CreateProduct;
use Automattic\WooCommerce\Internal\Api\Autogenerated\GraphQLMutations\UpdateProduct;
use Automattic\WooCommerce\Internal\Api\Autogenerated\GraphQLMutations\DeleteProduct;
use Automattic\WooCommerce\Internal\Api\Autogenerated\GraphQLMutations\DeleteCoupon;
use Automattic\WooCommerce\Internal\Api\Autogenerated\GraphQLMutations\CreateCoupon;
use Automattic\WooCommerce\Internal\Api\Autogenerated\GraphQLMutations\UpdateCoupon;
use Automattic\WooCommerce\Api\Infrastructure\Schema\ObjectType;

class RootMutationType {
	private static ?ObjectType $instance = null;

	public static function get(): ObjectType {
		if ( null === self::$instance ) {
			self::$instance = new ObjectType(
				array(
					'name'   => 'Mutation',
					'fields' => fn() => array(
						'createProduct' => CreateProduct::get_field_definition(),
						'updateProduct' => UpdateProduct::get_field_definition(),
						'deleteProduct' => DeleteProduct::get_field_definition(),
						'deleteCoupon'  => DeleteCoupon::get_field_definition(),
						'createCoupon'  => CreateCoupon::get_field_definition(),
						'updateCoupon'  => UpdateCoupon::get_field_definition(),
					),
				)
			);
		}
		return self::$instance;
	}
}
