/**
 * Fireblocks API
 * Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain.  - Visit our website for more information: [Fireblocks Website](https://fireblocks.com) - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com)
 *
 * The version of the OpenAPI document: 1.6.2
 * Contact: developers@fireblocks.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import { ReportOutputFormat } from './report-output-format';
import { ReportStatus } from './report-status';
import { ReportType } from './report-type';
/**
 * A report job. Optional fields are status-dependent: `completedAt`, `rowCount`, and `fileSizeBytes` are present only when `status` is `COMPLETED`; `failedAt` is present only when `status` is `FAILED`.
 * @export
 * @interface ReportJob
 */
export interface ReportJob {
    /**
     * Unique identifier of the report job
     * @type {string}
     * @memberof ReportJob
     */
    'id': string;
    /**
     *
     * @type {ReportStatus}
     * @memberof ReportJob
     */
    'status': ReportStatus;
    /**
     *
     * @type {ReportType}
     * @memberof ReportJob
     */
    'reportType': ReportType;
    /**
     *
     * @type {ReportOutputFormat}
     * @memberof ReportJob
     */
    'outputFormat': ReportOutputFormat;
    /**
     * Whether the output file is gzip-compressed
     * @type {boolean}
     * @memberof ReportJob
     */
    'compress': boolean;
    /**
     * ID of the user who requested the report
     * @type {string}
     * @memberof ReportJob
     */
    'requestedByUserId': string;
    /**
     * Epoch milliseconds (UTC) when the job was created
     * @type {number}
     * @memberof ReportJob
     */
    'createdAt': number;
    /**
     * Epoch milliseconds (UTC) when the report completed. Only present when `status` is `COMPLETED`.
     * @type {number}
     * @memberof ReportJob
     */
    'completedAt'?: number;
    /**
     * Epoch milliseconds (UTC) when the report failed. Only present when `status` is `FAILED`.
     * @type {number}
     * @memberof ReportJob
     */
    'failedAt'?: number;
    /**
     * Number of rows in the report file. Only present when `status` is `COMPLETED`.
     * @type {number}
     * @memberof ReportJob
     */
    'rowCount'?: number;
    /**
     * Size of the report file in bytes (includes compression when `compress` is `true`). Only present when `status` is `COMPLETED`.
     * @type {number}
     * @memberof ReportJob
     */
    'fileSizeBytes'?: number;
}
