import { HttpClient, HttpHeaders, HttpResponse, HttpEvent } from '@angular/common/http';
import { Observable } from 'rxjs';
import { AdjustHolding } from '../model/adjustHolding';
import { AdjustHoldingForDateRequest } from '../model/adjustHoldingForDateRequest';
import { AdjustHoldingRequest } from '../model/adjustHoldingRequest';
import { BatchAdjustHoldingsResponse } from '../model/batchAdjustHoldingsResponse';
import { BatchUpsertPortfolioTransactionsResponse } from '../model/batchUpsertPortfolioTransactionsResponse';
import { BucketedCashFlowRequest } from '../model/bucketedCashFlowRequest';
import { BucketedCashFlowResponse } from '../model/bucketedCashFlowResponse';
import { CreatePortfolioDetails } from '../model/createPortfolioDetails';
import { CreateTransactionPortfolioRequest } from '../model/createTransactionPortfolioRequest';
import { CustodianAccount } from '../model/custodianAccount';
import { CustodianAccountProperties } from '../model/custodianAccountProperties';
import { CustodianAccountRequest } from '../model/custodianAccountRequest';
import { CustodianAccountsUpsertResponse } from '../model/custodianAccountsUpsertResponse';
import { DeleteCustodianAccountsResponse } from '../model/deleteCustodianAccountsResponse';
import { DeletedEntityResponse } from '../model/deletedEntityResponse';
import { HoldingsAdjustment } from '../model/holdingsAdjustment';
import { LusidTradeTicket } from '../model/lusidTradeTicket';
import { Operation } from '../model/operation';
import { PagedResourceListOfCustodianAccount } from '../model/pagedResourceListOfCustodianAccount';
import { PerpetualProperty } from '../model/perpetualProperty';
import { Portfolio } from '../model/portfolio';
import { PortfolioDetails } from '../model/portfolioDetails';
import { Property } from '../model/property';
import { ResourceId } from '../model/resourceId';
import { ResourceListOfChangeHistory } from '../model/resourceListOfChangeHistory';
import { ResourceListOfHoldingsAdjustmentHeader } from '../model/resourceListOfHoldingsAdjustmentHeader';
import { ResourceListOfInstrumentCashFlow } from '../model/resourceListOfInstrumentCashFlow';
import { ResourceListOfPortfolioCashFlow } from '../model/resourceListOfPortfolioCashFlow';
import { ResourceListOfPortfolioCashLadder } from '../model/resourceListOfPortfolioCashLadder';
import { ResourceListOfTransaction } from '../model/resourceListOfTransaction';
import { TransactionQueryParameters } from '../model/transactionQueryParameters';
import { TransactionRequest } from '../model/transactionRequest';
import { UpsertPortfolioTransactionsResponse } from '../model/upsertPortfolioTransactionsResponse';
import { UpsertTransactionPropertiesResponse } from '../model/upsertTransactionPropertiesResponse';
import { VersionedResourceListOfA2BDataRecord } from '../model/versionedResourceListOfA2BDataRecord';
import { VersionedResourceListOfA2BMovementRecord } from '../model/versionedResourceListOfA2BMovementRecord';
import { VersionedResourceListOfOutputTransaction } from '../model/versionedResourceListOfOutputTransaction';
import { VersionedResourceListOfPortfolioHolding } from '../model/versionedResourceListOfPortfolioHolding';
import { VersionedResourceListOfTransaction } from '../model/versionedResourceListOfTransaction';
import { VersionedResourceListWithWarningsOfPortfolioHolding } from '../model/versionedResourceListWithWarningsOfPortfolioHolding';
import { Configuration } from '../configuration';
import * as i0 from "@angular/core";
export declare class TransactionPortfoliosService {
    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;
    /**
     * AdjustHoldings: Adjust holdings
     * Adjust one or more holdings of the specified transaction portfolio to the provided targets. LUSID will  automatically construct adjustment transactions to ensure that the holdings which have been adjusted are  always set to the provided targets for the specified effective datetime. Read more about the difference between  adjusting and setting holdings here https://support.lusid.com/how-do-i-adjust-my-holdings.
     * @param scope The scope of the transaction portfolio.
     * @param code The code of the transaction portfolio. Together with the scope this uniquely identifies              the transaction portfolio.
     * @param effectiveAt The effective datetime or cut label at which the holdings should be set to the provided targets.
     * @param adjustHoldingRequest The selected set of holdings to adjust to the provided targets for the              transaction portfolio.
     * @param reconciliationMethods Optional parameter for specifying a reconciliation method: e.g. FxForward.
     * @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.
     */
    adjustHoldings(scope: string, code: string, effectiveAt: string, adjustHoldingRequest: Array<AdjustHoldingRequest>, reconciliationMethods?: Array<string>, observe?: 'body', reportProgress?: boolean): Observable<AdjustHolding>;
    adjustHoldings(scope: string, code: string, effectiveAt: string, adjustHoldingRequest: Array<AdjustHoldingRequest>, reconciliationMethods?: Array<string>, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<AdjustHolding>>;
    adjustHoldings(scope: string, code: string, effectiveAt: string, adjustHoldingRequest: Array<AdjustHoldingRequest>, reconciliationMethods?: Array<string>, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<AdjustHolding>>;
    /**
     * [EARLY ACCESS] BatchAdjustHoldings: Batch adjust holdings
     * Adjust one or more holdings of the specified transaction portfolio to the provided targets. LUSID will  automatically construct adjustment transactions to ensure that the holdings which have been adjusted are  always set to the provided targets for the specified effective datetime in each request.                Each request must be keyed by a unique correlation id. This id is ephemeral and is not stored by LUSID.  It serves only as a way to easily identify each adjustment in the response.    Note: If using partial failure modes, then it is important to check the response body for failures as any failures will still return a 200 status code
     * @param scope The scope of the transaction portfolio.
     * @param code The code of the transaction portfolio. Together with the scope this uniquely identifies               the transaction portfolio.
     * @param successMode Whether the batch request should fail Atomically or in a Partial fashion - Allowed Values: Atomic, Partial
     * @param requestBody The selected set of holdings to adjust to the provided targets for the               transaction portfolio.
     * @param reconciliationMethods Optional parameter for specifying a reconciliation method: e.g. FxForward.
     * @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.
     */
    batchAdjustHoldings(scope: string, code: string, successMode: string, requestBody: {
        [key: string]: AdjustHoldingForDateRequest;
    }, reconciliationMethods?: Array<string>, observe?: 'body', reportProgress?: boolean): Observable<BatchAdjustHoldingsResponse>;
    batchAdjustHoldings(scope: string, code: string, successMode: string, requestBody: {
        [key: string]: AdjustHoldingForDateRequest;
    }, reconciliationMethods?: Array<string>, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<BatchAdjustHoldingsResponse>>;
    batchAdjustHoldings(scope: string, code: string, successMode: string, requestBody: {
        [key: string]: AdjustHoldingForDateRequest;
    }, reconciliationMethods?: Array<string>, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<BatchAdjustHoldingsResponse>>;
    /**
     * [EARLY ACCESS] BatchUpsertTransactions: Batch upsert transactions
     * Create or update transactions in the transaction portfolio. A transaction will be updated  if it already exists and created if it does not.    Each request must be keyed by a unique correlation id. This id is ephemeral and is not stored by LUSID.  It serves only as a way to easily identify each transaction in the response.    Note: If using partial failure modes, then it is important to check the response body for failures as any failures will still return a 200 status code
     * @param scope The scope of the transaction portfolio.
     * @param code The code of the transaction portfolio. Together with the scope this uniquely identifies              the transaction portfolio.
     * @param successMode Whether the batch request should fail Atomically or in a Partial fashion - Allowed Values: Atomic, Partial.
     * @param requestBody The payload describing the transactions to be created or updated.
     * @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.
     */
    batchUpsertTransactions(scope: string, code: string, successMode: string, requestBody: {
        [key: string]: TransactionRequest;
    }, observe?: 'body', reportProgress?: boolean): Observable<BatchUpsertPortfolioTransactionsResponse>;
    batchUpsertTransactions(scope: string, code: string, successMode: string, requestBody: {
        [key: string]: TransactionRequest;
    }, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<BatchUpsertPortfolioTransactionsResponse>>;
    batchUpsertTransactions(scope: string, code: string, successMode: string, requestBody: {
        [key: string]: TransactionRequest;
    }, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<BatchUpsertPortfolioTransactionsResponse>>;
    /**
     * BuildTransactions: Build transactions
     * Builds and returns all transactions that affect the holdings of a portfolio over a given interval of  effective time into a set of output transactions. This includes transactions automatically generated by  LUSID such as holding adjustments.
     * @param scope The scope of the transaction portfolio.
     * @param code The code of the transaction portfolio. Together with the scope this uniquely identifies              the transaction portfolio.
     * @param transactionQueryParameters The query queryParameters which control how the output transactions are built.
     * @param asAt The asAt datetime at which to build the transactions. Defaults to return the latest              version of each transaction if not specified.
     * @param filter Expression to filter the result set.              For example, to return only transactions with a transaction type of \&#39;Buy\&#39;, specify \&quot;type eq \&#39;Buy\&#39;\&quot;.              For more information about filtering LUSID results, see https://support.lusid.com/knowledgebase/article/KA-01914.
     * @param propertyKeys A list of property keys from the \&quot;Instrument\&quot; or \&quot;Transaction\&quot; domain to decorate onto              the transactions. These take the format {domain}/{scope}/{code} e.g. \&quot;Instrument/system/Name\&quot; or              \&quot;Transaction/strategy/quantsignal\&quot;.
     * @param limit When paginating, limit the number of returned results to this many. Defaults to 100 if not specified.
     * @param page The pagination token to use to continue listing transactions from a previous call to BuildTransactions.
     * @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.
     */
    buildTransactions(scope: string, code: string, transactionQueryParameters: TransactionQueryParameters, asAt?: Date, filter?: string, propertyKeys?: Array<string>, limit?: number, page?: string, observe?: 'body', reportProgress?: boolean): Observable<VersionedResourceListOfOutputTransaction>;
    buildTransactions(scope: string, code: string, transactionQueryParameters: TransactionQueryParameters, asAt?: Date, filter?: string, propertyKeys?: Array<string>, limit?: number, page?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<VersionedResourceListOfOutputTransaction>>;
    buildTransactions(scope: string, code: string, transactionQueryParameters: TransactionQueryParameters, asAt?: Date, filter?: string, propertyKeys?: Array<string>, limit?: number, page?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<VersionedResourceListOfOutputTransaction>>;
    /**
     * CancelAdjustHoldings: Cancel adjust holdings
     * Cancel all previous holding adjustments made on the specified transaction portfolio for a specified effective  datetime. This should be used to undo holding adjustments made via set holdings or adjust holdings.
     * @param scope The scope of the transaction portfolio.
     * @param code The code of the transaction portfolio. Together with the scope this uniquely identifies              the transaction portfolio.
     * @param effectiveAt The effective datetime or cut label at which the holding adjustments should be undone.
     * @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.
     */
    cancelAdjustHoldings(scope: string, code: string, effectiveAt: string, observe?: 'body', reportProgress?: boolean): Observable<DeletedEntityResponse>;
    cancelAdjustHoldings(scope: string, code: string, effectiveAt: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<DeletedEntityResponse>>;
    cancelAdjustHoldings(scope: string, code: string, effectiveAt: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<DeletedEntityResponse>>;
    /**
     * CancelTransactions: Cancel transactions
     * Cancel one or more transactions from the transaction portfolio.
     * @param scope The scope of the transaction portfolio.
     * @param code The code of the transaction portfolio. Together with the scope this uniquely identifies              the transaction portfolio.
     * @param transactionIds The IDs of the transactions to cancel.
     * @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.
     */
    cancelTransactions(scope: string, code: string, transactionIds: Array<string>, observe?: 'body', reportProgress?: boolean): Observable<DeletedEntityResponse>;
    cancelTransactions(scope: string, code: string, transactionIds: Array<string>, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<DeletedEntityResponse>>;
    cancelTransactions(scope: string, code: string, transactionIds: Array<string>, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<DeletedEntityResponse>>;
    /**
     * CreatePortfolio: Create portfolio
     * Create a transaction portfolio in a particular scope.
     * @param scope The scope in which to create the transaction portfolio.
     * @param createTransactionPortfolioRequest The definition of the transaction portfolio.
     * @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.
     */
    createPortfolio(scope: string, createTransactionPortfolioRequest: CreateTransactionPortfolioRequest, observe?: 'body', reportProgress?: boolean): Observable<Portfolio>;
    createPortfolio(scope: string, createTransactionPortfolioRequest: CreateTransactionPortfolioRequest, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<Portfolio>>;
    createPortfolio(scope: string, createTransactionPortfolioRequest: CreateTransactionPortfolioRequest, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<Portfolio>>;
    /**
     * [EXPERIMENTAL] CreateTradeTicket: Create Trade Ticket
     * Upsert a trade ticket. This is broadly equivalent to a singular call to upsert an instrument, then a counterparty and finally  a transaction that makes use of the two. It can be viewed as a utility function or part of a workflow more familiar to users  with OTC systems than flow and equity trading ones.
     * @param scope The scope of the transaction portfolio.
     * @param code The code of the transaction portfolio. Together with the scope this uniquely identifies              the transaction portfolio.
     * @param lusidTradeTicket the trade ticket to upsert
     * @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.
     */
    createTradeTicket(scope: string, code: string, lusidTradeTicket?: LusidTradeTicket, observe?: 'body', reportProgress?: boolean): Observable<LusidTradeTicket>;
    createTradeTicket(scope: string, code: string, lusidTradeTicket?: LusidTradeTicket, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<LusidTradeTicket>>;
    createTradeTicket(scope: string, code: string, lusidTradeTicket?: LusidTradeTicket, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<LusidTradeTicket>>;
    /**
     * [EXPERIMENTAL] DeleteCustodianAccounts: Soft or hard delete multiple custodian accounts
     * Delete one or more custodian accounts from the Transaction Portfolios. Soft deletion marks the custodian account as inactive  While the Hard deletion is deleting the custodian account.  The batch limit per request is 2,000.
     * @param scope The scope of the Transaction Portfolios.
     * @param code The code of the Transaction Portfolios. Together with the scope this uniquely identifies              the Transaction Portfolios.
     * @param resourceId The scope and codes of the custodian accounts to delete.
     * @param deleteMode The delete mode to use (defaults to \&#39;Soft\&#39;).
     * @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.
     */
    deleteCustodianAccounts(scope: string, code: string, resourceId: Array<ResourceId>, deleteMode?: 'Soft' | 'Hard', observe?: 'body', reportProgress?: boolean): Observable<DeleteCustodianAccountsResponse>;
    deleteCustodianAccounts(scope: string, code: string, resourceId: Array<ResourceId>, deleteMode?: 'Soft' | 'Hard', observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<DeleteCustodianAccountsResponse>>;
    deleteCustodianAccounts(scope: string, code: string, resourceId: Array<ResourceId>, deleteMode?: 'Soft' | 'Hard', observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<DeleteCustodianAccountsResponse>>;
    /**
     * DeletePropertiesFromTransaction: Delete properties from transaction
     * Delete one or more properties from a single transaction in a transaction portfolio.
     * @param scope The scope of the transaction portfolio.
     * @param code The code of the transaction portfolio. Together with the scope this uniquely identifies              the transaction portfolio.
     * @param transactionId The unique ID of the transaction from which to delete properties.
     * @param propertyKeys The property keys of the properties to delete.              These must be from the \&quot;Transaction\&quot; domain and have the format {domain}/{scope}/{code}, for example              \&quot;Transaction/strategy/quantsignal\&quot;.
     * @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.
     */
    deletePropertiesFromTransaction(scope: string, code: string, transactionId: string, propertyKeys: Array<string>, observe?: 'body', reportProgress?: boolean): Observable<DeletedEntityResponse>;
    deletePropertiesFromTransaction(scope: string, code: string, transactionId: string, propertyKeys: Array<string>, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<DeletedEntityResponse>>;
    deletePropertiesFromTransaction(scope: string, code: string, transactionId: string, propertyKeys: Array<string>, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<DeletedEntityResponse>>;
    /**
     * GetA2BData: Get A2B data
     * Get an A2B report for the given portfolio.
     * @param scope The scope of the portfolio to retrieve the A2B report for.
     * @param code The code of the portfolio to retrieve the A2B report for. Together with the scope this              uniquely identifies the portfolio.
     * @param fromEffectiveAt The lower bound effective datetime or cut label (inclusive) from which to retrieve the data.              There is no lower bound if this is not specified.
     * @param toEffectiveAt The upper bound effective datetime or cut label (inclusive) from which to retrieve the data.              There is no upper bound if this is not specified.
     * @param asAt The asAt datetime at which to retrieve the portfolio. Defaults to return the latest version              of each transaction if not specified.
     * @param recipeIdScope The scope of the given recipeId
     * @param recipeIdCode The code of the given recipeId
     * @param propertyKeys A list of property keys from the \&quot;Instrument\&quot; domain to decorate onto              the results. These take the format {domain}/{scope}/{code} e.g. \&quot;Instrument/system/Name\&quot;.
     * @param filter Expression to filter the result set.              Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.
     * @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.
     */
    getA2BData(scope: string, code: string, fromEffectiveAt: string, toEffectiveAt: string, asAt?: Date, recipeIdScope?: string, recipeIdCode?: string, propertyKeys?: Array<string>, filter?: string, observe?: 'body', reportProgress?: boolean): Observable<VersionedResourceListOfA2BDataRecord>;
    getA2BData(scope: string, code: string, fromEffectiveAt: string, toEffectiveAt: string, asAt?: Date, recipeIdScope?: string, recipeIdCode?: string, propertyKeys?: Array<string>, filter?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<VersionedResourceListOfA2BDataRecord>>;
    getA2BData(scope: string, code: string, fromEffectiveAt: string, toEffectiveAt: string, asAt?: Date, recipeIdScope?: string, recipeIdCode?: string, propertyKeys?: Array<string>, filter?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<VersionedResourceListOfA2BDataRecord>>;
    /**
     * GetA2BMovements: Get an A2B report at the movement level for the given portfolio.
     * Get an A2B report at the movement level for the given portfolio.
     * @param scope The scope of the portfolio to retrieve the A2B movement report for.
     * @param code The code of the portfolio to retrieve the A2B movement report for. Together with the scope this              uniquely identifies the portfolio.
     * @param fromEffectiveAt The lower bound effective datetime or cut label (inclusive) from which to retrieve the data.              There is no lower bound if this is not specified.
     * @param toEffectiveAt The upper bound effective datetime or cut label (inclusive) from which to retrieve the data.              There is no upper bound if this is not specified.
     * @param asAt The asAt datetime at which to retrieve the portfolio. Defaults to return the latest version              of each transaction if not specified.
     * @param recipeIdScope The scope of the given recipeId
     * @param recipeIdCode The code of the given recipeId
     * @param propertyKeys A list of property keys from the \&quot;Instrument\&quot; domain to decorate onto              the results. These take the format {domain}/{scope}/{code} e.g. \&quot;Instrument/system/Name\&quot;.
     * @param filter Expression to filter the result set.              Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.
     * @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.
     */
    getA2BMovements(scope: string, code: string, fromEffectiveAt: string, toEffectiveAt: string, asAt?: Date, recipeIdScope?: string, recipeIdCode?: string, propertyKeys?: Array<string>, filter?: string, observe?: 'body', reportProgress?: boolean): Observable<VersionedResourceListOfA2BMovementRecord>;
    getA2BMovements(scope: string, code: string, fromEffectiveAt: string, toEffectiveAt: string, asAt?: Date, recipeIdScope?: string, recipeIdCode?: string, propertyKeys?: Array<string>, filter?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<VersionedResourceListOfA2BMovementRecord>>;
    getA2BMovements(scope: string, code: string, fromEffectiveAt: string, toEffectiveAt: string, asAt?: Date, recipeIdScope?: string, recipeIdCode?: string, propertyKeys?: Array<string>, filter?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<VersionedResourceListOfA2BMovementRecord>>;
    /**
     * [EXPERIMENTAL] GetBucketedCashFlows: Get bucketed cash flows from a list of portfolios
     * We bucket/aggregate a transaction portfolio\&#39;s instruments by date or tenor specified in the request.  The cashflows are grouped by both instrumentId and currency.                If you want transactional level cashflow, please use the \&#39;GetUpsertableCashFlows\&#39; endpoint.  If you want instrument cashflow, please use the \&#39;GetPortfolioCashFlows\&#39; endpoint.  Note that these endpoints do not apply bucketing.
     * @param scope The scope of the transaction portfolio.
     * @param code The code of the transaction portfolio. Together with the scope this uniquely identifies the portfolio.
     * @param bucketedCashFlowRequest Request specifying the bucketing of cashflows
     * @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.
     */
    getBucketedCashFlows(scope: string, code: string, bucketedCashFlowRequest?: BucketedCashFlowRequest, observe?: 'body', reportProgress?: boolean): Observable<BucketedCashFlowResponse>;
    getBucketedCashFlows(scope: string, code: string, bucketedCashFlowRequest?: BucketedCashFlowRequest, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<BucketedCashFlowResponse>>;
    getBucketedCashFlows(scope: string, code: string, bucketedCashFlowRequest?: BucketedCashFlowRequest, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<BucketedCashFlowResponse>>;
    /**
     * [EXPERIMENTAL] GetCustodianAccount: Get Custodian Account
     * Retrieve the definition of a particular Custodian Account which is part of a Transaction Portfolios.
     * @param scope The scope of the Transaction Portfolio.
     * @param code The code of the Transaction Portfolio. Together with the scope this uniquely identifies the Transaction Portfolio.
     * @param custodianAccountScope The scope of the Custodian Account.
     * @param custodianAccountCode The code of the Custodian Account.
     * @param effectiveAt The effective datetime or cut label at which to retrieve the Custodian Account properties. Defaults to the current LUSID system datetime if not specified.
     * @param asAt The asAt datetime at which to retrieve the Custodian Account definition. Defaults to returning the latest version of the Custodian Account definition if not specified.
     * @param propertyKeys A list of property keys from the \&#39;CustodianAccount\&#39; domain to decorate onto the Custodian Account.              These must take the format {domain}/{scope}/{code}, for example \&#39;CustodianAccount/Manager/Id\&#39;. If not provided will return all the entitled properties for that Custodian Account.
     * @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.
     */
    getCustodianAccount(scope: string, code: string, custodianAccountScope: string, custodianAccountCode: string, effectiveAt?: string, asAt?: Date, propertyKeys?: Array<string>, observe?: 'body', reportProgress?: boolean): Observable<CustodianAccount>;
    getCustodianAccount(scope: string, code: string, custodianAccountScope: string, custodianAccountCode: string, effectiveAt?: string, asAt?: Date, propertyKeys?: Array<string>, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<CustodianAccount>>;
    getCustodianAccount(scope: string, code: string, custodianAccountScope: string, custodianAccountCode: string, effectiveAt?: string, asAt?: Date, propertyKeys?: Array<string>, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<CustodianAccount>>;
    /**
     * GetDetails: Get details
     * Get certain details associated with a transaction portfolio.
     * @param scope The scope of the transaction portfolio.
     * @param code The code of the transaction portfolio. Together with the              scope this uniquely identifies the transaction portfolio.
     * @param effectiveAt The effective datetime or cut label at which to retrieve the details of the transaction              portfolio. Defaults to the current LUSID system datetime if not specified.
     * @param asAt The asAt datetime at which to retrieve the details of the transaction portfolio. Defaults              to returning the latest version of the details if not specified.
     * @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.
     */
    getDetails(scope: string, code: string, effectiveAt?: string, asAt?: Date, observe?: 'body', reportProgress?: boolean): Observable<PortfolioDetails>;
    getDetails(scope: string, code: string, effectiveAt?: string, asAt?: Date, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<PortfolioDetails>>;
    getDetails(scope: string, code: string, effectiveAt?: string, asAt?: Date, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<PortfolioDetails>>;
    /**
     * GetHoldings: Get holdings
     * Calculate holdings for a transaction portfolio.
     * @param scope The scope of the transaction portfolio.
     * @param code The code of the transaction portfolio. Together with the scope this uniquely identifies              the transaction portfolio.
     * @param effectiveAt The effective datetime or cut label at which to retrieve the holdings of the transaction              portfolio. Defaults to the current LUSID system datetime if not specified.
     * @param asAt The asAt datetime at which to retrieve the holdings of the transaction portfolio. Defaults              to return the latest version if not specified.
     * @param filter Expression to filter the result set.              For example, to filter on the Holding Type, use \&quot;holdingType eq \&#39;p\&#39;\&quot;.              For more information about filtering LUSID results, see https://support.lusid.com/knowledgebase/article/KA-01914.
     * @param propertyKeys A list of property keys from the \&quot;Instrument\&quot;, \&quot;Holding\&quot;, \&quot;Custodian Account\&quot; or \&quot;Portfolio\&quot; domain to decorate onto              holdings. These must have the format {domain}/{scope}/{code}, for example \&quot;Instrument/system/Name\&quot; or \&quot;Holding/system/Cost\&quot;.
     * @param byTaxlots Whether or not to expand the holdings to return the underlying tax-lots. Defaults to              False.
     * @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.
     */
    getHoldings(scope: string, code: string, effectiveAt?: string, asAt?: Date, filter?: string, propertyKeys?: Array<string>, byTaxlots?: boolean, observe?: 'body', reportProgress?: boolean): Observable<VersionedResourceListOfPortfolioHolding>;
    getHoldings(scope: string, code: string, effectiveAt?: string, asAt?: Date, filter?: string, propertyKeys?: Array<string>, byTaxlots?: boolean, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<VersionedResourceListOfPortfolioHolding>>;
    getHoldings(scope: string, code: string, effectiveAt?: string, asAt?: Date, filter?: string, propertyKeys?: Array<string>, byTaxlots?: boolean, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<VersionedResourceListOfPortfolioHolding>>;
    /**
     * GetHoldingsAdjustment: Get holdings adjustment
     * Get a holdings adjustment made to a transaction portfolio at a specific effective datetime. Note that a  holdings adjustment will only be returned if one exists for the specified effective datetime.
     * @param scope The scope of the transaction portfolio.
     * @param code The code of the transaction portfolio. Together with the scope this uniquely identifies              the transaction portfolio.
     * @param effectiveAt The effective datetime or cut label of the holdings adjustment.
     * @param asAt The asAt datetime at which to retrieve the holdings adjustment. Defaults to the return the latest              version of the holdings adjustment if not specified.
     * @param propertyKeys A list of property keys from the ‘Instrument\&#39; domain to decorate onto holdings adjustments.              These must have the format {domain}/{scope}/{code}, for example \&#39;Instrument/system/Name\&#39;.              Note that properties from the \&#39;Holding’ domain are automatically returned.
     * @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.
     */
    getHoldingsAdjustment(scope: string, code: string, effectiveAt: string, asAt?: Date, propertyKeys?: Array<string>, observe?: 'body', reportProgress?: boolean): Observable<HoldingsAdjustment>;
    getHoldingsAdjustment(scope: string, code: string, effectiveAt: string, asAt?: Date, propertyKeys?: Array<string>, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<HoldingsAdjustment>>;
    getHoldingsAdjustment(scope: string, code: string, effectiveAt: string, asAt?: Date, propertyKeys?: Array<string>, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<HoldingsAdjustment>>;
    /**
     * [EXPERIMENTAL] GetHoldingsWithOrders: Get holdings with orders
     * Get the holdings of a transaction portfolio. Create virtual holdings for any outstanding orders,  and account for order state/fulfillment; that is, treat outstanding orders (and related records) as  if they had been realised at moment of query.
     * @param scope The scope of the transaction portfolio.
     * @param code The code of the transaction portfolio. Together with the scope this uniquely identifies              the transaction portfolio.
     * @param effectiveAt The effective datetime or cut label at which to retrieve the holdings of the transaction              portfolio. Defaults to the current LUSID system datetime if not specified.
     * @param asAt The asAt datetime at which to retrieve the holdings of the transaction portfolio. Defaults              to return the latest version of the holdings if not specified.
     * @param filter Expression to filter the result set.              For example, to filter on the Holding Type, use \&quot;holdingType eq \&#39;p\&#39;\&quot;              For more information about filtering LUSID results, see https://support.lusid.com/knowledgebase/article/KA-01914.
     * @param propertyKeys A list of property keys from the \&quot;Instrument\&quot;, \&quot;Holding\&quot; or \&quot;Portfolio\&quot; domain to decorate onto              the holdings. These take the format {domain}/{scope}/{code} e.g. \&quot;Instrument/system/Name\&quot; or \&quot;Holding/system/Cost\&quot;.
     * @param byTaxlots Whether or not to expand the holdings to return the underlying tax-lots. Defaults to              False.
     * @param recipeIdScope The scope of the given recipeId
     * @param recipeIdCode The code of the given recipeId
     * @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.
     */
    getHoldingsWithOrders(scope: string, code: string, effectiveAt?: string, asAt?: Date, filter?: string, propertyKeys?: Array<string>, byTaxlots?: boolean, recipeIdScope?: string, recipeIdCode?: string, observe?: 'body', reportProgress?: boolean): Observable<VersionedResourceListWithWarningsOfPortfolioHolding>;
    getHoldingsWithOrders(scope: string, code: string, effectiveAt?: string, asAt?: Date, filter?: string, propertyKeys?: Array<string>, byTaxlots?: boolean, recipeIdScope?: string, recipeIdCode?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<VersionedResourceListWithWarningsOfPortfolioHolding>>;
    getHoldingsWithOrders(scope: string, code: string, effectiveAt?: string, asAt?: Date, filter?: string, propertyKeys?: Array<string>, byTaxlots?: boolean, recipeIdScope?: string, recipeIdCode?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<VersionedResourceListWithWarningsOfPortfolioHolding>>;
    /**
     * [BETA] GetPortfolioCashFlows: Get portfolio cash flows
     * Get the set of cash flows that occur in a window for the transaction portfolio\&#39;s instruments.                Note that grouping can affect the quantity of information returned; where a holding is an amalgamation of one or more (e.g. cash) instruments, a unique  transaction identifier will not be available. The same may go for diagnostic information (e.g. multiple sources of an aggregate cash amount on a date that is  not split out. Grouping at the transaction and instrument level is recommended for those seeking to attribute individual flows.
     * @param scope The scope of the transaction portfolio.
     * @param code The code of the transaction portfolio. Together with the scope this               uniquely identifies the portfolio.
     * @param effectiveAt The valuation (pricing) effective datetime or cut label (inclusive) at which to evaluate the cashflows.  This determines whether cashflows are evaluated in a historic or forward looking context and will, for certain models, affect where data is looked up.  For example, on a swap if the effectiveAt is in the middle of the window, cashflows before it will be historic and resets assumed to exist where if the effectiveAt  is before the start of the range they are forward looking and will be expectations assuming the model supports that.  There is evidently a presumption here about availability of data and that the effectiveAt is realistically on or before the real-world today.
     * @param windowStart The lower bound effective datetime or cut label (inclusive) from which to retrieve the cashflows.               There is no lower bound if this is not specified. i.e. it is the minimum date.
     * @param windowEnd The upper bound effective datetime or cut label (inclusive) from which to retrieve the cashflows.               The upper bound defaults to \&#39;max date\&#39; if it is not specified
     * @param asAt The asAt datetime at which to retrieve the data. Defaults to returning the latest version               of each transaction if not specified.
     * @param filter Expression to filter the result set.               For example, to return only transactions with a transaction type of \&#39;Buy\&#39;, specify \&quot;type eq \&#39;Buy\&#39;\&quot;.               For more information about filtering LUSID results, see https://support.lusid.com/knowledgebase/article/KA-01914.
     * @param recipeIdScope The scope of the given recipeId
     * @param recipeIdCode The code of the given recipeID
     * @param excludeUnsettledTrades If absent or set to false, cashflows will returned based on trade date - more specifically, cashflows from any unsettled trades will be included in the results. If set to true, unsettled trades will be excluded from the result set.
     * @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.
     */
    getPortfolioCashFlows(scope: string, code: string, effectiveAt?: string, windowStart?: string, windowEnd?: string, asAt?: Date, filter?: string, recipeIdScope?: string, recipeIdCode?: string, excludeUnsettledTrades?: boolean, observe?: 'body', reportProgress?: boolean): Observable<ResourceListOfInstrumentCashFlow>;
    getPortfolioCashFlows(scope: string, code: string, effectiveAt?: string, windowStart?: string, windowEnd?: string, asAt?: Date, filter?: string, recipeIdScope?: string, recipeIdCode?: string, excludeUnsettledTrades?: boolean, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ResourceListOfInstrumentCashFlow>>;
    getPortfolioCashFlows(scope: string, code: string, effectiveAt?: string, windowStart?: string, windowEnd?: string, asAt?: Date, filter?: string, recipeIdScope?: string, recipeIdCode?: string, excludeUnsettledTrades?: boolean, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ResourceListOfInstrumentCashFlow>>;
    /**
     * GetPortfolioCashLadder: Get portfolio cash ladder
     * Get a cash ladder for a transaction portfolio.
     * @param scope The scope of the transaction portfolio.
     * @param code The code of the transaction portfolio. Together with the scope this              uniquely identifies the portfolio.
     * @param fromEffectiveAt The lower bound effective datetime or cut label (inclusive) from which to retrieve the data.              There is no lower bound if this is not specified.
     * @param toEffectiveAt The upper bound effective datetime or cut label (inclusive) from which to retrieve the data.              There is no upper bound if this is not specified.
     * @param effectiveAt The valuation (pricing) effective datetime or cut label (inclusive) at which to evaluate the cashflows.  This determines whether cashflows are evaluated in a historic or forward looking context and will, for certain models, affect where data is looked up.  For example, on a swap if the effectiveAt is in the middle of the window, cashflows before it will be historic and resets assumed to exist where if the effectiveAt  is before the start of the range they are forward looking and will be expectations assuming the model supports that.  There is evidently a presumption here about availability of data and that the effectiveAt is realistically on or before the real-world today.
     * @param asAt The asAt datetime at which to retrieve the portfolio. Defaults to returning the latest version              of each transaction if not specified.
     * @param filter Expression to filter the result set.              For example, to return only transactions with a transaction type of \&#39;Buy\&#39;, specify \&quot;type eq \&#39;Buy\&#39;\&quot;.              For more information about filtering LUSID results, see https://support.lusid.com/knowledgebase/article/KA-01914.
     * @param recipeIdScope The scope of the given recipeId
     * @param recipeIdCode The code of the given recipeID
     * @param excludeUnsettledTrades If absent or set to false, cashflows will returned based on trade date - more specifically, cashflows from any unsettled trades will be included in the results. If set to true, unsettled trades will be excluded from the result set.
     * @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.
     */
    getPortfolioCashLadder(scope: string, code: string, fromEffectiveAt: string, toEffectiveAt: string, effectiveAt: string, asAt?: Date, filter?: string, recipeIdScope?: string, recipeIdCode?: string, excludeUnsettledTrades?: boolean, observe?: 'body', reportProgress?: boolean): Observable<ResourceListOfPortfolioCashLadder>;
    getPortfolioCashLadder(scope: string, code: string, fromEffectiveAt: string, toEffectiveAt: string, effectiveAt: string, asAt?: Date, filter?: string, recipeIdScope?: string, recipeIdCode?: string, excludeUnsettledTrades?: boolean, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ResourceListOfPortfolioCashLadder>>;
    getPortfolioCashLadder(scope: string, code: string, fromEffectiveAt: string, toEffectiveAt: string, effectiveAt: string, asAt?: Date, filter?: string, recipeIdScope?: string, recipeIdCode?: string, excludeUnsettledTrades?: boolean, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ResourceListOfPortfolioCashLadder>>;
    /**
     * GetPortfolioCashStatement: Get portfolio cash statement
     * Get a cash statement for a transaction portfolio.
     * @param scope The scope of the transaction portfolio.
     * @param code The code of the transaction portfolio. Together with the scope this              uniquely identifies the portfolio.
     * @param fromEffectiveAt The lower bound effective datetime or cut label (inclusive) from which to retrieve the data.              There is no lower bound if this is not specified.
     * @param toEffectiveAt The upper bound effective datetime or cut label (inclusive) from which to retrieve the data.              There is no upper bound if this is not specified.
     * @param asAt The asAt datetime at which to retrieve the portfolio. Defaults to returning the latest version              of each transaction if not specified.
     * @param filter Expression to filter the result set.              For example, to return only transactions with a transaction type of \&#39;Buy\&#39;, specify \&quot;type eq \&#39;Buy\&#39;\&quot;.              For more information about filtering LUSID results, see https://support.lusid.com/knowledgebase/article/KA-01914.
     * @param recipeIdScope The scope of the given recipeId
     * @param recipeIdCode The code of the given recipeID
     * @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.
     */
    getPortfolioCashStatement(scope: string, code: string, fromEffectiveAt: string, toEffectiveAt: string, asAt?: Date, filter?: string, recipeIdScope?: string, recipeIdCode?: string, observe?: 'body', reportProgress?: boolean): Observable<ResourceListOfPortfolioCashFlow>;
    getPortfolioCashStatement(scope: string, code: string, fromEffectiveAt: string, toEffectiveAt: string, asAt?: Date, filter?: string, recipeIdScope?: string, recipeIdCode?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ResourceListOfPortfolioCashFlow>>;
    getPortfolioCashStatement(scope: string, code: string, fromEffectiveAt: string, toEffectiveAt: string, asAt?: Date, filter?: string, recipeIdScope?: string, recipeIdCode?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ResourceListOfPortfolioCashFlow>>;
    /**
     * [EARLY ACCESS] GetTransactionHistory: Get the history of a transaction
     * Get all of the changes that have happened to a transaction.
     * @param scope The scope of the transaction portfolio.
     * @param code The code of the transaction portfolio. Together with the scope this uniquely identifies              the transaction portfolio.
     * @param transactionId The unique ID of the transaction to create or update.
     * @param asAt The asAt datetime at which to retrieve the history of the transaction. Defaults              to return the latest version if not specified.
     * @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.
     */
    getTransactionHistory(scope: string, code: string, transactionId: string, asAt?: Date, observe?: 'body', reportProgress?: boolean): Observable<ResourceListOfChangeHistory>;
    getTransactionHistory(scope: string, code: string, transactionId: string, asAt?: Date, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ResourceListOfChangeHistory>>;
    getTransactionHistory(scope: string, code: string, transactionId: string, asAt?: Date, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ResourceListOfChangeHistory>>;
    /**
     * GetTransactions: Get transactions
     * Retrieve all the transactions that occurred during a particular time interval.                If the portfolio is a derived transaction portfolio, the transactions returned are the  union set of all transactions of the parent (and any grandparents, etc.) as well as  those of the derived transaction portfolio itself.
     * @param scope The scope of the transaction portfolio.
     * @param code The code of the transaction portfolio. Together with the scope this uniquely identifies               the transaction portfolio.
     * @param fromTransactionDate The lower bound effective datetime or cut label (inclusive) from which to retrieve transactions.               There is no lower bound if this is not specified.
     * @param toTransactionDate The upper bound effective datetime or cut label (inclusive) from which to retrieve transactions.               There is no upper bound if this is not specified.
     * @param asAt The asAt datetime at which to retrieve transactions. Defaults to returning the latest version               of each transaction if not specified.
     * @param filter Expression with which to filter the result set.               For example, to return only transactions with a transaction type of \&#39;Buy\&#39;, specify \&quot;type eq \&#39;Buy\&#39;\&quot;               For more information about filtering LUSID results, see https://support.lusid.com/knowledgebase/article/KA-01914.
     * @param propertyKeys A list of property keys from the \&#39;Instrument\&#39; or \&#39;Transaction\&#39; domain to decorate onto               transactions. These must have the format {domain}/{scope}/{code}, for example \&#39;Instrument/system/Name\&#39; or               \&#39;Transaction/strategy/quantsignal\&#39;.
     * @param page The pagination token to use to continue listing transactions from a previous call to GetTransactions.
     * @param limit When paginating, limit the number of returned results to this many. The current behaviour is               to return all transactions if possible, but this will change to defaulting to 1000 if not specified in the future. It is recommended               to populate this field to enable pagination.
     * @param showCancelledTransactions Option to specify whether or not to include cancelled transactions,               including previous versions of transactions which have since been amended.               Defaults to False if not specified.
     * @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.
     */
    getTransactions(scope: string, code: string, fromTransactionDate?: string, toTransactionDate?: string, asAt?: Date, filter?: string, propertyKeys?: Array<string>, page?: string, limit?: number, showCancelledTransactions?: boolean, observe?: 'body', reportProgress?: boolean): Observable<VersionedResourceListOfTransaction>;
    getTransactions(scope: string, code: string, fromTransactionDate?: string, toTransactionDate?: string, asAt?: Date, filter?: string, propertyKeys?: Array<string>, page?: string, limit?: number, showCancelledTransactions?: boolean, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<VersionedResourceListOfTransaction>>;
    getTransactions(scope: string, code: string, fromTransactionDate?: string, toTransactionDate?: string, asAt?: Date, filter?: string, propertyKeys?: Array<string>, page?: string, limit?: number, showCancelledTransactions?: boolean, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<VersionedResourceListOfTransaction>>;
    /**
     * [BETA] GetUpsertablePortfolioCashFlows: Get upsertable portfolio cash flows.
     * Get the set of cash flows that occur in a window for the given portfolio instruments as a set of upsertable transactions (DTOs).                Note that grouping can affect the quantity of information returned; where a holding is an amalgamation of one or more (e.g. cash) instruments, a unique  transaction identifier will not be available. The same may go for diagnostic information (e.g. multiple sources of an aggregate cash amount on a date that is  not split out. Grouping at the transaction and instrument level is recommended for those seeking to attribute individual flows.                In essence this is identical to the \&#39;GetCashFlows\&#39; endpoint but returns the cash flows as a set of transactions suitable for directly putting back into LUSID.  There are a couple of important points:  (1) Internally it can not be fully known where the user wishes to insert these transactions, e.g. portfolio and movement type.      These are therefore defaulted to a sensible option; the user will likely need to change these.  (2) Similarly, knowledge of any properties the user might wish to add to a transaction are unknown and consequently left empty.  (3) The transaction id that is added is simply a concatenation of the original transaction id, instrument id and payment date and direction. The user can happily override this.
     * @param scope The scope of the transaction portfolio.
     * @param code The code of the transaction portfolio. Together with the scope this               uniquely identifies the portfolio.
     * @param effectiveAt The valuation (pricing) effective datetime or cut label (inclusive) at which to evaluate the cashflows.  This determines whether cashflows are evaluated in a historic or forward looking context and will, for certain models, affect where data is looked up.  For example, on a swap if the effectiveAt is in the middle of the window, cashflows before it will be historic and resets assumed to exist where if the effectiveAt  is before the start of the range they are forward looking and will be expectations assuming the model supports that.  There is evidently a presumption here about availability of data and that the effectiveAt is realistically on or before the real-world today.
     * @param windowStart The lower bound effective datetime or cut label (inclusive) from which to retrieve the cashflows.               There is no lower bound if this is not specified. i.e. uses minimum date-time
     * @param windowEnd The upper bound effective datetime or cut label (inclusive) from which to retrieve the cashflows.               The upper bound defaults to \&#39;max date\&#39; if it is not specified
     * @param asAt The asAt datetime at which to retrieve the portfolio. Defaults to return the latest version               of each transaction if not specified.
     * @param filter Expression to filter the result set.               For example, to return only transactions with a transaction type of \&#39;Buy\&#39;, specify \&quot;type eq \&#39;Buy\&#39;\&quot;.               For more information about filtering LUSID results, see https://support.lusid.com/knowledgebase/article/KA-01914.
     * @param recipeIdScope The scope of the given recipeId
     * @param recipeIdCode The code of the given recipeID
     * @param excludeUnsettledTrades If absent or set to true, unsettled trades will be excluded from the result set. If set to false, cashflows will returned based on trade date - more specifically, cashflows from any unsettled trades will be included in the results.
     * @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.
     */
    getUpsertablePortfolioCashFlows(scope: string, code: string, effectiveAt?: string, windowStart?: string, windowEnd?: string, asAt?: Date, filter?: string, recipeIdScope?: string, recipeIdCode?: string, excludeUnsettledTrades?: boolean, observe?: 'body', reportProgress?: boolean): Observable<ResourceListOfTransaction>;
    getUpsertablePortfolioCashFlows(scope: string, code: string, effectiveAt?: string, windowStart?: string, windowEnd?: string, asAt?: Date, filter?: string, recipeIdScope?: string, recipeIdCode?: string, excludeUnsettledTrades?: boolean, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ResourceListOfTransaction>>;
    getUpsertablePortfolioCashFlows(scope: string, code: string, effectiveAt?: string, windowStart?: string, windowEnd?: string, asAt?: Date, filter?: string, recipeIdScope?: string, recipeIdCode?: string, excludeUnsettledTrades?: boolean, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ResourceListOfTransaction>>;
    /**
     * [EXPERIMENTAL] ListCustodianAccounts: List Custodian Accounts
     * List the custodian accounts in a Transaction Portfolios
     * @param scope The scope of the Transaction Portfolio.
     * @param code The code of the Transaction Portfolio. Together with the scope this uniquely identifies              the Transaction Portfolios.
     * @param effectiveAt The effective datetime or cut label at which to list the TimeVariant properties decorated on Custodian Accounts. Defaults to the current LUSID              system datetime if not specified.
     * @param asAt The asAt datetime at which to retrieve the instrument. Defaults to              returning the latest version if not specified.
     * @param page The pagination token to use to continue listing custodian accounts; this              value is returned from the previous call. If a pagination token is provided, the filter, effectiveAt              and asAt fields must not have changed since the original request. Also, if set, a start value cannot be provided.
     * @param start When paginating, skip this number of results.
     * @param limit When paginating, limit the results to this number. Defaults to 100 if not specified.
     * @param filter Expression to filter the results.              For example, to filter on the Custodian Account type, specify \&quot;code eq \&#39;001\&#39;\&quot;. For more information about filtering              results, see https://support.lusid.com/knowledgebase/article/KA-01914.
     * @param propertyKeys A list of property keys from the \&#39;CustodianAccount\&#39; domain to decorate onto the Custodian Account.              These must have the format {domain}/{scope}/{code}, for example \&#39;CustodianAccount/system/Name\&#39;.
     * @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.
     */
    listCustodianAccounts(scope: string, code: string, effectiveAt?: string, asAt?: Date, page?: string, start?: number, limit?: number, filter?: string, propertyKeys?: Array<string>, observe?: 'body', reportProgress?: boolean): Observable<PagedResourceListOfCustodianAccount>;
    listCustodianAccounts(scope: string, code: string, effectiveAt?: string, asAt?: Date, page?: string, start?: number, limit?: number, filter?: string, propertyKeys?: Array<string>, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<PagedResourceListOfCustodianAccount>>;
    listCustodianAccounts(scope: string, code: string, effectiveAt?: string, asAt?: Date, page?: string, start?: number, limit?: number, filter?: string, propertyKeys?: Array<string>, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<PagedResourceListOfCustodianAccount>>;
    /**
     * ListHoldingsAdjustments: List holdings adjustments
     * List the holdings adjustments made to the specified transaction portfolio over a specified interval of effective time.
     * @param scope The scope of the transaction portfolio.
     * @param code The code of the transaction portfolio. Together with the scope this uniquely identifies              the transaction portfolio.
     * @param fromEffectiveAt The lower bound effective datetime or cut label (inclusive) from which to retrieve the holdings              adjustments. There is no lower bound if this is not specified.
     * @param toEffectiveAt The upper bound effective datetime or cut label (inclusive) from which to retrieve the holdings              adjustments. There is no upper bound if this is not specified.
     * @param asAt The asAt datetime at which to retrieve the holdings adjustments. Defaults to return the              latest version of each holding adjustment if not specified.
     * @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.
     */
    listHoldingsAdjustments(scope: string, code: string, fromEffectiveAt?: string, toEffectiveAt?: string, asAt?: Date, observe?: 'body', reportProgress?: boolean): Observable<ResourceListOfHoldingsAdjustmentHeader>;
    listHoldingsAdjustments(scope: string, code: string, fromEffectiveAt?: string, toEffectiveAt?: string, asAt?: Date, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ResourceListOfHoldingsAdjustmentHeader>>;
    listHoldingsAdjustments(scope: string, code: string, fromEffectiveAt?: string, toEffectiveAt?: string, asAt?: Date, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ResourceListOfHoldingsAdjustmentHeader>>;
    /**
     * [EXPERIMENTAL] LookThroughHoldings: Get LookThrough Holdings
     * Calculate holdings for a transaction portfolio with lookthrough
     * @param scope The scope of the transaction portfolio.
     * @param code The code of the transaction portfolio. Together with the scope this uniquely identifies              the transaction portfolio.
     * @param effectiveAt The effective datetime or cut label at which to retrieve the holdings of the transaction              portfolio. Defaults to the current LUSID system datetime if not specified.
     * @param asAt The asAt datetime at which to retrieve the holdings of the transaction portfolio. Defaults              to return the latest version if not specified.
     * @param filter Expression to filter the result set.              For example, to filter on the Holding Type, use \&quot;holdingType eq \&#39;p\&#39;\&quot;.              For more information about filtering LUSID results, see https://support.lusid.com/knowledgebase/article/KA-01914.
     * @param propertyKeys A list of property keys from the \&quot;Instrument\&quot;, \&quot;Holding\&quot; or \&quot;Portfolio\&quot; domain to decorate onto              holdings. These must have the format {domain}/{scope}/{code}, for example \&quot;Instrument/system/Name\&quot; or \&quot;Holding/system/Cost\&quot;.
     * @param quotesScope The scope containing the quotes with the FX rates used for currency conversion.
     * @param slice When running LookThrough, define this slice as the root slice in the portfolio to look through from.
     * @param shareClass When running LookThrough, use this along with the slice parameter to specify              the root share class in the slice in the portfolio to look through from. The slice parameter is a prerequisite              for this parameter to be valid.
     * @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.
     */
    lookThroughHoldings(scope: string, code: string, effectiveAt?: string, asAt?: Date, filter?: string, propertyKeys?: Array<string>, quotesScope?: string, slice?: string, shareClass?: string, observe?: 'body', reportProgress?: boolean): Observable<VersionedResourceListOfPortfolioHolding>;
    lookThroughHoldings(scope: string, code: string, effectiveAt?: string, asAt?: Date, filter?: string, propertyKeys?: Array<string>, quotesScope?: string, slice?: string, shareClass?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<VersionedResourceListOfPortfolioHolding>>;
    lookThroughHoldings(scope: string, code: string, effectiveAt?: string, asAt?: Date, filter?: string, propertyKeys?: Array<string>, quotesScope?: string, slice?: string, shareClass?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<VersionedResourceListOfPortfolioHolding>>;
    /**
     * [EXPERIMENTAL] LookThroughTransactions: Look through transactions
     * Retrieve all the transactions that occurred during a particular time interval.    If the portfolio is part of a fund as defined in Fund Accounting documents, the transactions returned are the  union set of all transactions in portfolios of the same type, in any funds invested in by the portfolio\&#39;s fund  (and any funds invested in from that fund, etc.).  The transactions will be scaled according to the ratio of the value of the investment in the fund to the NAV of the fund itself.
     * @param scope The scope of the transaction portfolio.
     * @param code The code of the transaction portfolio. Together with the scope this uniquely identifies              the transaction portfolio.
     * @param fromTransactionDate The lower bound effective datetime or cut label (inclusive) from which to retrieve transactions.              There is no lower bound if this is not specified.
     * @param toTransactionDate The upper bound effective datetime or cut label (inclusive) from which to retrieve transactions.              There is no upper bound if this is not specified.
     * @param asAt The asAt datetime at which to retrieve transactions. Defaults to returning the latest version              of each transaction if not specified.
     * @param filter Expression with which to filter the result set.              For example, to return only transactions with a transaction type of \&#39;Buy\&#39;, specify \&quot;type eq \&#39;Buy\&#39;\&quot;              For more information about filtering LUSID results, see https://support.lusid.com/knowledgebase/article/KA-01914.
     * @param propertyKeys A list of property keys from the \&#39;Instrument\&#39; or \&#39;Transaction\&#39; domain to decorate onto              transactions. These must have the format {domain}/{scope}/{code}, for example \&#39;Instrument/system/Name\&#39; or              \&#39;Transaction/strategy/quantsignal\&#39;.
     * @param page The pagination token to use to continue listing transactions from a previous call to LookThroughTransactions.
     * @param limit When paginating, limit the number of returned results to this many. This will default to 1000 if not specified.
     * @param quotesScope The scope containing the quotes with the FX rates used for currency conversion.
     * @param slice When running LookThrough, define this slice as the root slice in the portfolio to look through from.
     * @param shareClass When running LookThrough, use this along with the slice parameter to specify              the root share class in the slice in the portfolio to look through from. The slice parameter is a prerequisite              for this parameter to be valid.
     * @param useAlternateScalingLogic When running LookThrough, set this flag to use the same scaling logic as for LT Holdings
     * @param alternateEffectiveAt This effectiveAt field is required when using alternate scaling logic to determine which fund and currency data is used for scaling
     * @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.
     */
    lookThroughTransactions(scope: string, code: string, fromTransactionDate?: string, toTransactionDate?: string, asAt?: Date, filter?: string, propertyKeys?: Array<string>, page?: string, limit?: number, quotesScope?: string, slice?: string, shareClass?: string, useAlternateScalingLogic?: boolean, alternateEffectiveAt?: string, observe?: 'body', reportProgress?: boolean): Observable<VersionedResourceListOfTransaction>;
    lookThroughTransactions(scope: string, code: string, fromTransactionDate?: string, toTransactionDate?: string, asAt?: Date, filter?: string, propertyKeys?: Array<string>, page?: string, limit?: number, quotesScope?: string, slice?: string, shareClass?: string, useAlternateScalingLogic?: boolean, alternateEffectiveAt?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<VersionedResourceListOfTransaction>>;
    lookThroughTransactions(scope: string, code: string, fromTransactionDate?: string, toTransactionDate?: string, asAt?: Date, filter?: string, propertyKeys?: Array<string>, page?: string, limit?: number, quotesScope?: string, slice?: string, shareClass?: string, useAlternateScalingLogic?: boolean, alternateEffectiveAt?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<VersionedResourceListOfTransaction>>;
    /**
     * [EARLY ACCESS] PatchPortfolioDetails: Patch portfolio details
     * Create or update certain details for a particular transaction portfolio.  The behaviour is defined by the JSON Patch specification.                Note that not all elements of a transaction portfolio definition are  modifiable once it has been created due to the potential implications for data already stored.  Currently supported properties are: SubHoldingKeys, BaseCurrency, AmortisationMethod
     * @param scope The scope of the transaction portfolio.
     * @param code The code of the transaction portfolio. Together with the               scope this uniquely identifies the transaction portfolio.
     * @param operation The patch document.
     * @param effectiveAt The effective datetime or cut label at which the updated or inserted details should become valid.               Defaults to the current LUSID system datetime if not specified.               Note that this will affect all bitemporal entities in the request, but will not be used for any perpetual entities.
     * @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.
     */
    patchPortfolioDetails(scope: string, code: string, operation: Array<Operation>, effectiveAt?: string, observe?: 'body', reportProgress?: boolean): Observable<PortfolioDetails>;
    patchPortfolioDetails(scope: string, code: string, operation: Array<Operation>, effectiveAt?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<PortfolioDetails>>;
    patchPortfolioDetails(scope: string, code: string, operation: Array<Operation>, effectiveAt?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<PortfolioDetails>>;
    /**
     * [EARLY ACCESS] ResolveInstrument: Resolve instrument
     * Try to resolve the instrument for transaction and holdings for a given instrument identifier and a specified  period of time. Also update the instrument identifiers with the given instrument identifiers collection.
     * @param scope The scope of the transaction portfolio.
     * @param code The code of the transaction portfolio. Together with the scope this uniquely identifies              the transaction portfolio.
     * @param instrumentIdentifierType The instrument identifier type.
     * @param instrumentIdentifierValue The value for the given instrument identifier.
     * @param fromEffectiveAt The lower bound effective datetime or cut label (inclusive) from which to retrieve the data.              There is no lower bound if this is not specified.
     * @param reResolve When set to true, instrument resolution will be attempted for all transactions and holdings for the given identifier and date range.              When set to false (default behaviour), instrument resolution will only be attempted for those transactions and holdings that were previously unresolved.
     * @param requestBody The dictionary with the instrument identifiers to be updated on the             transaction and holdings.
     * @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.
     */
    resolveInstrument(scope: string, code: string, instrumentIdentifierType: string, instrumentIdentifierValue: string, fromEffectiveAt?: string, reResolve?: boolean, requestBody?: {
        [key: string]: string;
    }, observe?: 'body', reportProgress?: boolean): Observable<UpsertPortfolioTransactionsResponse>;
    resolveInstrument(scope: string, code: string, instrumentIdentifierType: string, instrumentIdentifierValue: string, fromEffectiveAt?: string, reResolve?: boolean, requestBody?: {
        [key: string]: string;
    }, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<UpsertPortfolioTransactionsResponse>>;
    resolveInstrument(scope: string, code: string, instrumentIdentifierType: string, instrumentIdentifierValue: string, fromEffectiveAt?: string, reResolve?: boolean, requestBody?: {
        [key: string]: string;
    }, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<UpsertPortfolioTransactionsResponse>>;
    /**
     * SetHoldings: Set holdings
     * Set the holdings of the specified transaction portfolio to the provided targets. LUSID will automatically  construct adjustment transactions to ensure that the entire set of holdings for the transaction portfolio  are always set to the provided targets for the specified effective datetime. Read more about the difference between  adjusting and setting holdings here https://support.lusid.com/how-do-i-adjust-my-holdings.
     * @param scope The scope of the transaction portfolio.
     * @param code The code of the transaction portfolio. Together with the scope this uniquely identifies              the transaction portfolio.
     * @param effectiveAt The effective datetime or cut label at which the holdings should be set to the provided targets.
     * @param adjustHoldingRequest The complete set of target holdings for the transaction portfolio.
     * @param reconciliationMethods Optional parameter for specifying a reconciliation method: e.g. FxForward.
     * @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.
     */
    setHoldings(scope: string, code: string, effectiveAt: string, adjustHoldingRequest: Array<AdjustHoldingRequest>, reconciliationMethods?: Array<string>, observe?: 'body', reportProgress?: boolean): Observable<AdjustHolding>;
    setHoldings(scope: string, code: string, effectiveAt: string, adjustHoldingRequest: Array<AdjustHoldingRequest>, reconciliationMethods?: Array<string>, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<AdjustHolding>>;
    setHoldings(scope: string, code: string, effectiveAt: string, adjustHoldingRequest: Array<AdjustHoldingRequest>, reconciliationMethods?: Array<string>, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<AdjustHolding>>;
    /**
     * [EXPERIMENTAL] UpsertCustodianAccounts: Upsert Custodian Accounts
     * Create or update Custodian Accounts in the Transaction Portfolios. A Custodian Account will be updated  if it already exists and created if it does not.  The batch limit per request is 2,000.
     * @param scope The scope of the Transaction Portfolio.
     * @param code The code of the Transaction Portfolio. Together with the scope this uniquely identifies              the Transaction Portfolios.
     * @param custodianAccountRequest A list of Custodian Accounts to be created or updated.
     * @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.
     */
    upsertCustodianAccounts(scope: string, code: string, custodianAccountRequest: Array<CustodianAccountRequest>, observe?: 'body', reportProgress?: boolean): Observable<CustodianAccountsUpsertResponse>;
    upsertCustodianAccounts(scope: string, code: string, custodianAccountRequest: Array<CustodianAccountRequest>, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<CustodianAccountsUpsertResponse>>;
    upsertCustodianAccounts(scope: string, code: string, custodianAccountRequest: Array<CustodianAccountRequest>, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<CustodianAccountsUpsertResponse>>;
    /**
     * [EXPERIMENTAL] UpsertCustodianAccountsProperties: Upsert custodian accounts properties
     * Update or insert one or more properties onto a single custodian account. A property will be updated if it  already exists and inserted if it does not. All properties must be of the domain \&#39;CustodianAccount\&#39;.                Upserting a property that exists for a Transaction Portfolios, with a null value, will delete the instance of the property for that group.                Properties have an &lt;i&gt;effectiveFrom&lt;/i&gt; datetime for which the property is valid, and an &lt;i&gt;effectiveUntil&lt;/i&gt;  datetime until which the property is valid. Not supplying an &lt;i&gt;effectiveUntil&lt;/i&gt; datetime results in the property being  valid indefinitely, or until the next &lt;i&gt;effectiveFrom&lt;/i&gt; datetime of the property.
     * @param scope The scope of the Transaction Portfolios to update or insert the properties onto.
     * @param code The code of the Transaction Portfolios to update or insert the properties onto. Together with the scope this uniquely identifies the Transaction Portfolios.
     * @param custodianAccountScope The scope of the Custodian Account to update or insert the properties onto.
     * @param custodianAccountCode The unique ID of the custodian account to create or update properties for.
     * @param requestBody The properties to be updated or inserted onto the Transaction Portfolio. Each property in               the request must be keyed by its unique property key. This has the format {domain}/{scope}/{code} e.g. \&quot;CustodianAccount/Manager/Id\&quot;.
     * @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.
     */
    upsertCustodianAccountsProperties(scope: string, code: string, custodianAccountScope: string, custodianAccountCode: string, requestBody?: {
        [key: string]: Property;
    }, observe?: 'body', reportProgress?: boolean): Observable<CustodianAccountProperties>;
    upsertCustodianAccountsProperties(scope: string, code: string, custodianAccountScope: string, custodianAccountCode: string, requestBody?: {
        [key: string]: Property;
    }, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<CustodianAccountProperties>>;
    upsertCustodianAccountsProperties(scope: string, code: string, custodianAccountScope: string, custodianAccountCode: string, requestBody?: {
        [key: string]: Property;
    }, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<CustodianAccountProperties>>;
    /**
     * UpsertPortfolioDetails: Upsert portfolio details
     * Create or update certain details for a particular transaction portfolio. The details are updated if they already exist, and inserted if they do not.                Note that not all elements of a transaction portfolio definition are  modifiable once it has been created due to the potential implications for data already stored.
     * @param scope The scope of the transaction portfolio.
     * @param code The code of the transaction portfolio. Together with the               scope this uniquely identifies the transaction portfolio.
     * @param createPortfolioDetails The details to create or update for the specified transaction portfolio.
     * @param effectiveAt The effective datetime or cut label at which the updated or inserted details should become valid.               Defaults to the current LUSID system datetime if not specified.
     * @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.
     */
    upsertPortfolioDetails(scope: string, code: string, createPortfolioDetails: CreatePortfolioDetails, effectiveAt?: string, observe?: 'body', reportProgress?: boolean): Observable<PortfolioDetails>;
    upsertPortfolioDetails(scope: string, code: string, createPortfolioDetails: CreatePortfolioDetails, effectiveAt?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<PortfolioDetails>>;
    upsertPortfolioDetails(scope: string, code: string, createPortfolioDetails: CreatePortfolioDetails, effectiveAt?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<PortfolioDetails>>;
    /**
     * UpsertTransactionProperties: Upsert transaction properties
     * Create or update one or more transaction properties for a single transaction in the transaction portfolio.  Each property will be updated if it already exists and created if it does not.  Both transaction and portfolio must exist at the time when properties are created or updated.
     * @param scope The scope of the transaction portfolio.
     * @param code The code of the transaction portfolio. Together with the scope this uniquely identifies              the transaction portfolio.
     * @param transactionId The unique ID of the transaction to create or update properties for.
     * @param requestBody The properties and their associated values to create or update.
     * @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.
     */
    upsertTransactionProperties(scope: string, code: string, transactionId: string, requestBody: {
        [key: string]: PerpetualProperty;
    }, observe?: 'body', reportProgress?: boolean): Observable<UpsertTransactionPropertiesResponse>;
    upsertTransactionProperties(scope: string, code: string, transactionId: string, requestBody: {
        [key: string]: PerpetualProperty;
    }, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<UpsertTransactionPropertiesResponse>>;
    upsertTransactionProperties(scope: string, code: string, transactionId: string, requestBody: {
        [key: string]: PerpetualProperty;
    }, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<UpsertTransactionPropertiesResponse>>;
    /**
     * UpsertTransactions: Upsert transactions
     * Create or update transactions in the transaction portfolio. A transaction will be updated  if it already exists and created if it does not.  The maximum number of transactions that this method can upsert per request is 10,000.
     * @param scope The scope of the transaction portfolio.
     * @param code The code of the transaction portfolio. Together with the scope this uniquely identifies              the transaction portfolio.
     * @param transactionRequest A list of transactions to be created or updated.
     * @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.
     */
    upsertTransactions(scope: string, code: string, transactionRequest: Array<TransactionRequest>, observe?: 'body', reportProgress?: boolean): Observable<UpsertPortfolioTransactionsResponse>;
    upsertTransactions(scope: string, code: string, transactionRequest: Array<TransactionRequest>, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<UpsertPortfolioTransactionsResponse>>;
    upsertTransactions(scope: string, code: string, transactionRequest: Array<TransactionRequest>, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<UpsertPortfolioTransactionsResponse>>;
    static ɵfac: i0.ɵɵFactoryDef<TransactionPortfoliosService, [null, { optional: true; }, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDef<TransactionPortfoliosService>;
}
