<?php

declare (strict_types=1);
namespace idoit\Module\SyneticsJdisc\Graphql\Schema\Model;

use Axtiva\FlexibleGraphql\Resolver\AutoGenerationInterface;

/**
 * This code is @generated by axtiva/flexible-graphql-php
 * if you want to extend it or change, then remove interface AutoGenerationInterface
 * and it will be managed by you, not axtiva/flexible-graphql-php code generator
 * PHP representation of graphql type TabbedReportDescription
 * A description for a tabbed report.  */
final class TabbedReportDescriptionType implements AutoGenerationInterface, ReportDescriptionInterface
{
    /**
     * Gets a list of actions for this report
     * @var null|iterable
     */
    public ?iterable $actions = null;
    /**
     * Gets a list of buttons for this report
     * @var null|iterable
     */
    public ?iterable $buttons = null;
    /**
     * The chart descriptions of supported charts
     * @var null|iterable
     */
    public ?iterable $chartDescriptions = null;
    /**
     * Read-only property to specify report description
     */
    public ?string $className = null;
    /**
     * Read-only to report classifier by report description
     * @var null|iterable|string[]
     */
    public ?iterable $descriptionHierarchy = null;
    /**
     * Returns the fields and their associated actions
     * @var null|iterable
     */
    public ?iterable $fieldActions = null;
    /**
     * The list of filters
     * @var null|iterable
     */
    public ?iterable $filters = null;
    /**
     * Returns the default action that gets executed when you doubleclick on a row in the table
     */
    public ?ReportActionInterfaceInterface $reportDefaultAction = null;
    /**
     * Gets the report identifier
     */
    public ?BuiltInReportEnum $reportId = null;
    /**
     * The supported filter fields. Supported filter fields are configured per report description.
     * @var null|iterable
     */
    public ?iterable $supportedFilterFields = null;
    /**
     * Gets the title for the report
     */
    public ?string $title = null;
    /**
     * A flag whether the report supports history data
     */
    public ?bool $hasHistory = null;
    /**
     * A flag whether the report is group aware or not.
     */
    public ?bool $isGroupAware = null;
    /**
     * A flag whether the report is splittable
     */
    public ?bool $isSplittable = null;
    /**
     * A flag whether the report supports the starterGets the list of all columns
     */
    public ?bool $supportsStarterEdition = null;
    /**
     * report tabs
     * @var null|iterable
     */
    public ?iterable $tabs = null;
}