using Grand.Domain.Documents;

namespace Grand.Business.Core.Interfaces.Marketing.Documents;

public interface IDocumentTypeService
{
    /// <summary>
    ///     Gets a document type
    /// </summary>
    /// <param name="id">document type identifier</param>
    /// <returns>Document type</returns>
    Task<DocumentType> GetById(string id);

    /// <summary>
    ///     Gets all document types
    /// </summary>
    /// <returns>Document types</returns>
    Task<IList<DocumentType>> GetAll();


    /// <summary>
    ///     Insert a document type
    /// </summary>
    /// <param name="documentType">Document type</param>
    Task Insert(DocumentType documentType);

    /// <summary>
    ///     Update a document type
    /// </summary>
    /// <param name="documentType">Document type</param>
    Task Update(DocumentType documentType);

    /// <summary>
    ///     Delete a document type
    /// </summary>
    /// <param name="documentType">Document type</param>
    Task Delete(DocumentType documentType);
}