using PostFundManagement.Application.Services.Governance; using PostFundManagement.Domain; using PostFundManagement.Domain.Models; namespace PostFundManagement.Application.Abstractions.Services; public interface IGovernanceService { ValueTask> GetProgrammesAsync(string portfolioIdHash, CancellationToken cancellationToken = default); ValueTask> GetPorfoliosAsync(string organisationIdHash, CancellationToken cancellationToken = default); ValueTask> GetOrganisationsAsync(Pagination pagination, CancellationToken cancellationToken = default); ValueTask> GetOrganisationAsync(string organisationIdHash, CancellationToken cancellationToken = default); ValueTask> GetInstrumentsAsync(string programmeIdHash, CancellationToken cancellationToken = default); ValueTask> GetDashboardAsync(CancellationToken cancellationToken = default); ValueTask CreateOrganisationAsync(CreateOrganisationRequest request, Guid userId, CancellationToken cancellationToken = default); ValueTask> UpdateOrganisationAsync(UpdateOrganisationRequest request, CancellationToken cancellationToken = default); ValueTask CreatePortfolioAsync(CreatePortfolioRequest request, Guid userId, CancellationToken cancellationToken = default); ValueTask UpdatePortfolioAsync(UpdatePortfolioRequest request, Guid userId, CancellationToken cancellationToken = default); ValueTask> GetPortfolioProgrammesAsync(string portfolioIdHash, CancellationToken cancellationToken = default); ValueTask> GetPortfolioAsync(string portfolioIdHash, CancellationToken cancellationToken = default); }