<?php

declare (strict_types=1);
namespace idoit\Module\JDisc\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 ReportMailExportJob
 * A report mail export job configuration */
final class ReportMailExportJobType implements AutoGenerationInterface, ReportExportJobInterface, AnyScheduledJobInterface
{
    /**
     * The job's connected report name
     */
    public ?BuiltInReportEnum $builtInReport = null;
    /**
     * The entity's creation time.
     */
    public $creationTime = null;
    /**
     * The job's connected custom report id
     */
    public $customReportId = null;
    /**
     * The job's export emptyReport attribute
     */
    public ?bool $emptyReport = null;
    /**
     * The job's export format encoding attribute
     */
    public ?TextFileEncodingEnum $encoding = null;
    /**
     * The job's export encryptZipFile attribute
     */
    public ?bool $encryptZipFile = null;
    /**
     * The job's export encryptionPwd attribute
     */
    public ?string $encryptionPwd = null;
    /**
     * The job's export format
     */
    public ?ExportFormatEnum $exportFormat = null;
    /**
     * The job's export type
     */
    public ?ExportTypeEnum $exportType = null;
    /**
     * The job's export format fileName attribute
     */
    public ?string $fileName = null;
    /**
     * The job's filter case-sensitive flag
     */
    public ?bool $filterCaseSensitive = null;
    /**
     * The job's filter value
     */
    public ?string $filterValue = null;
    /**
     * The internal id of mail export job.
Mandatory for change and delete operations.
Note that the id might change when the entity gets deleted and recreated.
     */
    public ?string $id = null;
    /**
     * The job's owner
     */
    public ?InventoryUserType $inventoryUser = null;
    /**
     * The job's invert filter flag
     */
    public ?bool $invertFilter = null;
    /**
     * The job's export e-mail account id
     */
    public ?MailAccountType $mailAccount = null;
    /**
     * The job's export mailMessage attribute
     */
    public ?string $mailMessage = null;
    /**
     * The entity's modification time.
     */
    public $modificationTime = null;
    /**
     * The default null value sequence
     */
    public ?string $nullValue = null;
    /**
     * The list of mail recipients.
     * @var null|iterable
     */
    public ?iterable $recipients = null;
    /**
     * The job's connected report title
     */
    public ?string $reportTitle = null;
    /**
     * The job's export format separator attribute
     */
    public ?string $separator = null;
    /**
     * The job's sort column configuration
     */
    public ?string $sortByColumn = null;
    /**
     * The job's sort order configuration
     */
    public ?SortOrderEnum $sortOrder = null;
    /**
     * The job's export subjectLine attribute
     */
    public ?string $subjectLine = null;
    /**
     * The job's export format useHumanReadableDateDurationOutput attribute
     */
    public ?bool $useHumanReadableDateDurationOutput = null;
    /**
     * The job's export format useHumanReadableOutput attribute
     */
    public ?bool $useHumanReadableOutput = null;
    /**
     * The job's export format useMultipleLines attribute
     */
    public ?bool $useMultipleLines = null;
    /**
     * The job's export zipFile attribute
     */
    public ?bool $zipFile = null;
    /**
     * The job's name
     */
    public ?string $name = null;
    /**
     * The job's schedule
     */
    public ?ScheduleType $schedule = null;
    /**
     * The job's owner login
     */
    public ?string $inventoryUserLogin = null;
}