import { List } from '@iqser/common-ui/lib/utils';
import { DownloadFileType } from '../shared';

/**
 * Object containing information about a dossier.
 */
export interface IDossierRequest {
    /**
     * The id(s) of approvers associated to this dossier.
     */
    readonly approverIds?: List;
    /**
     * The dossier's description (optional).
     */
    readonly description?: string;
    /**
     * The id of the dossier, can be null for create requests.
     */
    readonly dossierId?: string;
    /**
     * The name of the dossier. Must be unique.
     */
    readonly dossierName?: string;
    /**
     * The dossierTemplateId for this dossier. can be null for update request.
     */
    readonly dossierTemplateId?: string;
    /**
     * Download File Types for this dossiers submission package.
     */
    readonly downloadFileTypes?: List<DownloadFileType>;
    /**
     * The date when the dossier is due.
     */
    readonly dueDate?: string;
    /**
     * The id(s) of members associated to this dossier.
     */
    readonly memberIds?: List;
    /**
     * The id of the owning user.
     */
    readonly ownerId?: string;
    /**
     * Id(s) of the word report templates used to generate downloads
     */
    readonly reportTemplateIds?: List;
    /**
     * Whether a watermark will be applied to the redacted files or not.
     */
    readonly watermarkEnabled?: boolean;
    /**
     * Whether a watermark will be applied to the preview files or not.
     */
    readonly watermarkPreviewEnabled?: boolean;
    /**
     * Watermark id that will be applied  to the redacted files.
     */
    readonly watermarkId?: number;
    /**
     * Watermark id that will be applied  to the preview files.
     */
    readonly previewWatermarkId?: number;
}
