using Femto.Common.Domain;

namespace Femto.Modules.Blog.Application;

public interface IBlogModule
{
    Task PostCommand(ICommand command, CancellationToken cancellationToken = default);

    Task<TResponse> PostCommand<TResponse>(
        ICommand<TResponse> command,
        CancellationToken cancellationToken = default
    );

    Task<TResponse> PostQuery<TResponse>(
        IQuery<TResponse> query,
        CancellationToken cancellationToken = default
    );
}
