import { HttpClient, HttpHeaders, HttpResponse, HttpEvent } from '@angular/common/http';
import { Observable } from 'rxjs';
import { CreateDerivedTransactionPortfolioRequest } from '../model/createDerivedTransactionPortfolioRequest';
import { DeletedEntityResponse } from '../model/deletedEntityResponse';
import { Portfolio } from '../model/portfolio';
import { Configuration } from '../configuration';
export declare class DerivedTransactionPortfoliosService {
    protected httpClient: HttpClient;
    protected basePath: string;
    defaultHeaders: HttpHeaders;
    configuration: Configuration;
    constructor(httpClient: HttpClient, basePath: string, configuration: Configuration);
    /**
     * @param consumes string[] mime-types
     * @return true: consumes contains 'multipart/form-data', false: otherwise
     */
    private canConsumeForm(consumes);
    /**
     * Create derived transaction portfolio
     * Creates a transaction portfolio that derives from an existing transaction portfolio. In a derived portfolio, parts of the portfolio can either be specific to this portfolio, or can be inherited from a \&quot;parent\&quot;. Different parts of the portfolio (e.g. transactions or properties) are combined in different ways. The portfolio details are either overridden in entirety, or not at all. The same is true for properties. Transactions on a derived portfolio are merged with its parent portfolio&#39;s transactions. If the parent portfolio is itself a derived portfolio, transactions from that parent are also merged (and that parent&#39;s portfolio&#39;s, if it is also a derived portfolio, and so on).
     * @param scope The scope into which to create the new derived portfolio
     * @param portfolio The root object of the new derived portfolio, containing a populated reference portfolio id and reference scope
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    createDerivedPortfolio(scope: string, portfolio?: CreateDerivedTransactionPortfolioRequest, observe?: 'body', reportProgress?: boolean): Observable<Portfolio>;
    createDerivedPortfolio(scope: string, portfolio?: CreateDerivedTransactionPortfolioRequest, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<Portfolio>>;
    createDerivedPortfolio(scope: string, portfolio?: CreateDerivedTransactionPortfolioRequest, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<Portfolio>>;
    /**
     * Delete portfolio details
     * Deletes the portfolio details for the specified derived transaction portfolio
     * @param scope The scope of the portfolio
     * @param code The code of the portfolio
     * @param effectiveAt The effective date of the change
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    deleteDerivedPortfolioDetails(scope: string, code: string, effectiveAt?: Date, observe?: 'body', reportProgress?: boolean): Observable<DeletedEntityResponse>;
    deleteDerivedPortfolioDetails(scope: string, code: string, effectiveAt?: Date, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<DeletedEntityResponse>>;
    deleteDerivedPortfolioDetails(scope: string, code: string, effectiveAt?: Date, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<DeletedEntityResponse>>;
}
