using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using Wino.Core.Domain.Entities.Mail;
using Wino.Core.Domain.Enums;
using Wino.Core.Domain.Models.Folders;

namespace Wino.Core.Domain.Models.MailItem;

public record MailListInitializationOptions(IEnumerable<IMailItemFolder> Folders,
                                            FilterOptionType FilterType,
                                            SortingOptionType SortingOptionType,
                                            bool CreateThreads,
                                            bool? IsFocusedOnly,
                                            string SearchQuery,
                                            ConcurrentDictionary<Guid, bool> ExistingUniqueIds = null,
                                            List<MailCopy> PreFetchMailCopies = null,
                                            int Skip = 0,
                                            int Take = 0);
