<?php
/**
 * Element control introspection ability schema.
 *
 * @package LolaCoreForBricks
 */

declare(strict_types=1);

namespace LolaCoreForBricks\Schemas;

use LolaCoreForBricks\AbilitiesProvider;

/**
 * Door 1 schema for describeElementControls.
 */
class ElementSchemas
{
    /**
     * @return array<string, array<string, mixed>>
     */
    public static function define(): array
    {
        return [
            'describeElementControls' => [
                'description' => 'Describe Bricks element controls: element-specific controls plus a summary of universal base controls.',
                'category'    => AbilitiesProvider::CATEGORY,
                'keywords'    => [
                    'exact' => ['element controls', 'controles de elemento', 'bricks section controls'],
                    'stem'  => ['control', 'element'],
                ],
                'parameters'  => [
                    'type'       => 'object',
                    'properties' => [
                        'element_name' => ['type' => 'string'],
                        'group'        => ['type' => 'string'],
                    ],
                    'required'   => ['element_name'],
                ],
            ],
        ];
    }
}
