@finbourne/lusid-sdk-angular8
Version:
An angular (8+) SDK for secure access to the LUSID® by FINBOURNE web API
418 lines (417 loc) • 48.9 kB
TypeScript
import { HttpClient, HttpHeaders, HttpResponse, HttpEvent } from '@angular/common/http';
import { Observable } from 'rxjs';
import { AccessMetadataOperation } from '../model/accessMetadataOperation';
import { AccessMetadataValue } from '../model/accessMetadataValue';
import { ActionResultOfPortfolio } from '../model/actionResultOfPortfolio';
import { AggregatedReturnsRequest } from '../model/aggregatedReturnsRequest';
import { AggregatedReturnsResponse } from '../model/aggregatedReturnsResponse';
import { DeletedEntityResponse } from '../model/deletedEntityResponse';
import { Operation } from '../model/operation';
import { PerformanceReturn } from '../model/performanceReturn';
import { Portfolio } from '../model/portfolio';
import { PortfolioProperties } from '../model/portfolioProperties';
import { Property } from '../model/property';
import { ResourceListOfAccessMetadataValueOf } from '../model/resourceListOfAccessMetadataValueOf';
import { ResourceListOfAggregatedReturn } from '../model/resourceListOfAggregatedReturn';
import { ResourceListOfPerformanceReturn } from '../model/resourceListOfPerformanceReturn';
import { ResourceListOfPortfolio } from '../model/resourceListOfPortfolio';
import { ResourceListOfProcessedCommand } from '../model/resourceListOfProcessedCommand';
import { ResourceListOfProperty } from '../model/resourceListOfProperty';
import { ResourceListOfPropertyInterval } from '../model/resourceListOfPropertyInterval';
import { ResourceListOfRelation } from '../model/resourceListOfRelation';
import { ResourceListOfRelationship } from '../model/resourceListOfRelationship';
import { UpdatePortfolioRequest } from '../model/updatePortfolioRequest';
import { UpsertPortfolioAccessMetadataRequest } from '../model/upsertPortfolioAccessMetadataRequest';
import { UpsertReturnsResponse } from '../model/upsertReturnsResponse';
import { Configuration } from '../configuration';
import * as i0 from "@angular/core";
export declare class PortfoliosService {
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;
/**
* [EARLY ACCESS] DeleteKeyFromPortfolioAccessMetadata: Delete a Portfolio Access Metadata Rule
* Delete the Portfolio Access Metadata Rule that exactly matches the provided identifier parts
* @param scope The scope of the Quote Access Metadata Rule to retrieve.
* @param code Portfolio code
* @param metadataKey The metadataKey identifying the access metadata entry to delete
* @param effectiveAt The effective date to delete at, if this is not supplied, it will delete all data found
* @param effectiveUntil The effective date until which the delete is valid. If not supplied this will be valid indefinitely, or until the next \'effectiveAt\' date of the Access Metadata
* @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.
*/
deleteKeyFromPortfolioAccessMetadata(scope: string, code: string, metadataKey: string, effectiveAt?: string, effectiveUntil?: Date, observe?: 'body', reportProgress?: boolean): Observable<DeletedEntityResponse>;
deleteKeyFromPortfolioAccessMetadata(scope: string, code: string, metadataKey: string, effectiveAt?: string, effectiveUntil?: Date, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<DeletedEntityResponse>>;
deleteKeyFromPortfolioAccessMetadata(scope: string, code: string, metadataKey: string, effectiveAt?: string, effectiveUntil?: Date, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<DeletedEntityResponse>>;
/**
* DeletePortfolio: Delete portfolio
* Delete a particular portfolio. The deletion will take effect from the portfolio\'s creation datetime. This means that the portfolio will no longer exist at any effective datetime, as per the asAt datetime of deletion.
* @param scope The scope of the portfolio.
* @param code The code of the portfolio. Together with the scope this uniquely identifies the 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.
*/
deletePortfolio(scope: string, code: string, observe?: 'body', reportProgress?: boolean): Observable<DeletedEntityResponse>;
deletePortfolio(scope: string, code: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<DeletedEntityResponse>>;
deletePortfolio(scope: string, code: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<DeletedEntityResponse>>;
/**
* DeletePortfolioProperties: Delete portfolio properties
* Delete one or more properties from a particular portfolio. If the properties are time-variant then an effective datetime from which to delete properties must be specified. If the properties are perpetual then it is invalid to specify an effective datetime for deletion.
* @param scope The scope of the portfolio.
* @param code The code of the portfolio. Together with the scope this uniquely identifies the portfolio.
* @param propertyKeys The property keys of the properties to delete. These must take the format {domain}/{scope}/{code}, for example \'Portfolio/Manager/Id\'. Each property must be from the \'Portfolio\' domain.
* @param effectiveAt The effective datetime or cut label at which to delete time-variant properties from. The property must exist at the specified \'effectiveAt\' datetime. If the \'effectiveAt\' is not provided or is before the time-variant property exists then a failure is returned. Do not specify this parameter if any of the properties to delete are perpetual.
* @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.
*/
deletePortfolioProperties(scope: string, code: string, propertyKeys: Array<string>, effectiveAt?: string, observe?: 'body', reportProgress?: boolean): Observable<DeletedEntityResponse>;
deletePortfolioProperties(scope: string, code: string, propertyKeys: Array<string>, effectiveAt?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<DeletedEntityResponse>>;
deletePortfolioProperties(scope: string, code: string, propertyKeys: Array<string>, effectiveAt?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<DeletedEntityResponse>>;
/**
* [EARLY ACCESS] DeletePortfolioReturns: Delete Returns
* Cancel one or more Returns which exist into the specified portfolio.
* @param scope The scope of the Portfolio.
* @param code The code of the Portfolio.
* @param returnScope The scope of the Returns.
* @param returnCode The code of the Returns.
* @param fromEffectiveAt The start date from which to delete the Returns.
* @param toEffectiveAt The end date from which to delete the Returns.
* @param period The Period (Daily or Monthly) of the Returns to be deleted. Defaults to Daily.
* @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.
*/
deletePortfolioReturns(scope: string, code: string, returnScope: string, returnCode: string, fromEffectiveAt: string, toEffectiveAt: string, period?: string, observe?: 'body', reportProgress?: boolean): Observable<DeletedEntityResponse>;
deletePortfolioReturns(scope: string, code: string, returnScope: string, returnCode: string, fromEffectiveAt: string, toEffectiveAt: string, period?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<DeletedEntityResponse>>;
deletePortfolioReturns(scope: string, code: string, returnScope: string, returnCode: string, fromEffectiveAt: string, toEffectiveAt: string, period?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<DeletedEntityResponse>>;
/**
* GetPortfolio: Get portfolio
* Retrieve the definition of a particular portfolio.
* @param scope The scope of the portfolio.
* @param code The code of the portfolio. Together with the scope this uniquely identifies the portfolio.
* @param effectiveAt The effective datetime or cut label at which to retrieve the portfolio definition. Defaults to the current LUSID system datetime if not specified.
* @param asAt The asAt datetime at which to retrieve the portfolio definition. Defaults to returning the latest version of the portfolio definition if not specified.
* @param propertyKeys A list of property keys from the \'Portfolio\' domain to decorate onto the portfolio, or from any domain that supports relationships to decorate onto related entities. These must take the format {domain}/{scope}/{code}, for example \'Portfolio/Manager/Id\'.
* @param relationshipDefinitionIds A list of relationship definitions that are used to decorate related entities onto the portfolio in the response. These must take the form {relationshipDefinitionScope}/{relationshipDefinitionCode}.
* @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.
*/
getPortfolio(scope: string, code: string, effectiveAt?: string, asAt?: Date, propertyKeys?: Array<string>, relationshipDefinitionIds?: Array<string>, observe?: 'body', reportProgress?: boolean): Observable<Portfolio>;
getPortfolio(scope: string, code: string, effectiveAt?: string, asAt?: Date, propertyKeys?: Array<string>, relationshipDefinitionIds?: Array<string>, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<Portfolio>>;
getPortfolio(scope: string, code: string, effectiveAt?: string, asAt?: Date, propertyKeys?: Array<string>, relationshipDefinitionIds?: Array<string>, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<Portfolio>>;
/**
* [EXPERIMENTAL] GetPortfolioAggregateReturns: Aggregate Returns (This is a deprecated endpoint).
* Aggregate Returns which are on the specified portfolio.
* @param scope The scope of the Portfolio.
* @param code The code of the Portfolio.
* @param returnScope The scope of the Returns.
* @param returnCode The code of the Returns.
* @param recipeIdScope The Recipe Scope for getting the fx rates
* @param recipeIdCode The Recipe Code for getting the fx rates
* @param fromEffectiveAt The start date from which to calculate the Returns.
* @param toEffectiveAt The end date for which to calculate the Returns.
* @param compositeMethod The method used to calculate the Portfolio performance: Equal/Asset.
* @param period The type of the returns used to calculate the aggregation result: Daily/Monthly.
* @param outputFrequency The type of calculated output: Daily/Weekly/Monthly/Quarterly/Half-Yearly/Yearly.
* @param metrics Determines what type of returns should be calculated, see https://support.lusid.com/knowledgebase/article/KA-01675/en-us for a list of available metrics.
* @param asAt The asAt datetime at which to retrieve the Returns. Defaults to the latest.
* @param alternativeIncDate The date from which to consider the Returns on the Portfolio, if this is different from the date when Returns begin. Can be a date string or Portfolio property.
* @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.
*/
getPortfolioAggregateReturns(scope: string, code: string, returnScope: string, returnCode: string, recipeIdScope?: string, recipeIdCode?: string, fromEffectiveAt?: string, toEffectiveAt?: string, compositeMethod?: string, period?: string, outputFrequency?: string, metrics?: Array<string>, asAt?: Date, alternativeIncDate?: string, observe?: 'body', reportProgress?: boolean): Observable<ResourceListOfAggregatedReturn>;
getPortfolioAggregateReturns(scope: string, code: string, returnScope: string, returnCode: string, recipeIdScope?: string, recipeIdCode?: string, fromEffectiveAt?: string, toEffectiveAt?: string, compositeMethod?: string, period?: string, outputFrequency?: string, metrics?: Array<string>, asAt?: Date, alternativeIncDate?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ResourceListOfAggregatedReturn>>;
getPortfolioAggregateReturns(scope: string, code: string, returnScope: string, returnCode: string, recipeIdScope?: string, recipeIdCode?: string, fromEffectiveAt?: string, toEffectiveAt?: string, compositeMethod?: string, period?: string, outputFrequency?: string, metrics?: Array<string>, asAt?: Date, alternativeIncDate?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ResourceListOfAggregatedReturn>>;
/**
* [EARLY ACCESS] GetPortfolioAggregatedReturns: Aggregated Returns
* Aggregate Returns which are on the specified portfolio.
* @param scope The scope of the Portfolio.
* @param code The code of the Portfolio.
* @param aggregatedReturnsRequest The request used in the AggregatedReturns.
* @param fromEffectiveAt The start date from which to calculate the Returns.
* @param toEffectiveAt The end date for which to calculate the Returns.
* @param asAt The asAt datetime at which to retrieve the Returns. Defaults to the latest.
* @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.
*/
getPortfolioAggregatedReturns(scope: string, code: string, aggregatedReturnsRequest: AggregatedReturnsRequest, fromEffectiveAt?: string, toEffectiveAt?: string, asAt?: Date, observe?: 'body', reportProgress?: boolean): Observable<AggregatedReturnsResponse>;
getPortfolioAggregatedReturns(scope: string, code: string, aggregatedReturnsRequest: AggregatedReturnsRequest, fromEffectiveAt?: string, toEffectiveAt?: string, asAt?: Date, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<AggregatedReturnsResponse>>;
getPortfolioAggregatedReturns(scope: string, code: string, aggregatedReturnsRequest: AggregatedReturnsRequest, fromEffectiveAt?: string, toEffectiveAt?: string, asAt?: Date, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<AggregatedReturnsResponse>>;
/**
* GetPortfolioCommands: Get portfolio commands
* Get all the commands that modified a particular portfolio, including any input transactions.
* @param scope The scope of the portfolio.
* @param code The code of the portfolio. Together with the scope this uniquely identifies the portfolio.
* @param fromAsAt The lower bound asAt datetime (inclusive) from which to retrieve commands. There is no lower bound if this is not specified.
* @param toAsAt The upper bound asAt datetime (inclusive) from which to retrieve commands. There is no upper bound if this is not specified.
* @param filter Expression to filter the results. For example, to filter on the User ID, specify \"userId.id eq \'string\'\". For more information about filtering, see https://support.lusid.com/knowledgebase/article/KA-01914.
* @param page The pagination token to use to continue listing commands; this value is returned from the previous call.
* @param limit When paginating, limit the results to this number. Defaults to 500 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.
*/
getPortfolioCommands(scope: string, code: string, fromAsAt?: Date, toAsAt?: Date, filter?: string, page?: string, limit?: number, observe?: 'body', reportProgress?: boolean): Observable<ResourceListOfProcessedCommand>;
getPortfolioCommands(scope: string, code: string, fromAsAt?: Date, toAsAt?: Date, filter?: string, page?: string, limit?: number, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ResourceListOfProcessedCommand>>;
getPortfolioCommands(scope: string, code: string, fromAsAt?: Date, toAsAt?: Date, filter?: string, page?: string, limit?: number, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ResourceListOfProcessedCommand>>;
/**
* [EARLY ACCESS] GetPortfolioMetadata: Get access metadata rules for a portfolio
* Pass the scope and portfolio code parameters to retrieve the AccessMetadata associated with a portfolio
* @param scope The scope of the Portfolio Access Metadata Rule to retrieve.
* @param code Portfolio code
* @param effectiveAt The effectiveAt datetime at which to retrieve the access metadata rule.
* @param asAt The asAt datetime at which to retrieve the portfolio access metadata.
* @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.
*/
getPortfolioMetadata(scope: string, code: string, effectiveAt?: string, asAt?: Date, observe?: 'body', reportProgress?: boolean): Observable<{
[key: string]: Array<AccessMetadataValue>;
}>;
getPortfolioMetadata(scope: string, code: string, effectiveAt?: string, asAt?: Date, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<{
[key: string]: Array<AccessMetadataValue>;
}>>;
getPortfolioMetadata(scope: string, code: string, effectiveAt?: string, asAt?: Date, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<{
[key: string]: Array<AccessMetadataValue>;
}>>;
/**
* GetPortfolioProperties: Get portfolio properties
* List all the properties of a particular portfolio.
* @param scope The scope of the portfolio.
* @param code The code of the portfolio. Together with the scope this uniquely identifies the portfolio.
* @param effectiveAt The effective datetime or cut label at which to list the portfolio\'s properties. Defaults to the current LUSID system datetime if not specified.
* @param asAt The asAt datetime at which to list the portfolio\'s properties. Defaults to returning the latest version of each property 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.
*/
getPortfolioProperties(scope: string, code: string, effectiveAt?: string, asAt?: Date, observe?: 'body', reportProgress?: boolean): Observable<PortfolioProperties>;
getPortfolioProperties(scope: string, code: string, effectiveAt?: string, asAt?: Date, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<PortfolioProperties>>;
getPortfolioProperties(scope: string, code: string, effectiveAt?: string, asAt?: Date, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<PortfolioProperties>>;
/**
* [EARLY ACCESS] GetPortfolioPropertyTimeSeries: Get portfolio property time series
* Show the complete time series (history) for a particular portfolio property.
* @param scope The scope of the portfolio.
* @param code The code of the portfolio. Together with the scope this uniquely identifies the portfolio.
* @param propertyKey The property key of the property whose history to show. This must be from the \'Portfolio\' domain and in the format {domain}/{scope}/{code}, for example \'Portfolio/Manager/Id\'.
* @param portfolioEffectiveAt The effective datetime used to resolve the portfolio. Defaults to the current LUSID system datetime if not specified.
* @param asAt The asAt datetime at which to show the history. Defaults to returning the current datetime if not supplied.
* @param filter Expression to filter the results. For more information about filtering, see https://support.lusid.com/knowledgebase/article/KA-01914.
* @param page The pagination token to use to continue listing properties; this value is returned from the previous call. If a pagination token is provided, the filter, portfolioEffectiveAt, and asAt fields must not have changed since the original request.
* @param limit When paginating, limit the results to this number.
* @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.
*/
getPortfolioPropertyTimeSeries(scope: string, code: string, propertyKey: string, portfolioEffectiveAt?: string, asAt?: Date, filter?: string, page?: string, limit?: number, observe?: 'body', reportProgress?: boolean): Observable<ResourceListOfPropertyInterval>;
getPortfolioPropertyTimeSeries(scope: string, code: string, propertyKey: string, portfolioEffectiveAt?: string, asAt?: Date, filter?: string, page?: string, limit?: number, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ResourceListOfPropertyInterval>>;
getPortfolioPropertyTimeSeries(scope: string, code: string, propertyKey: string, portfolioEffectiveAt?: string, asAt?: Date, filter?: string, page?: string, limit?: number, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ResourceListOfPropertyInterval>>;
/**
* [EXPERIMENTAL] GetPortfolioRelations: Get portfolio relations
* Get relations for a particular portfolio.
* @param scope The scope of the portfolio.
* @param code The code of the portfolio. Together with the scope this uniquely identifies the portfolio.
* @param effectiveAt The effective datetime or cut label at which to retrieve relations. Defaults to the current LUSID system datetime if not specified.
* @param asAt The asAt datetime at which to retrieve relations. Defaults to returning the latest LUSID AsAt time if not specified.
* @param filter Expression to filter the relations. Provide a null or empty string for this field until further notice.
* @param identifierTypes Identifier types (as property keys) used for referencing Persons or Legal Entities. These must be from the \'Person\' or \'LegalEntity\' domains and have the format {domain}/{scope}/{code}, for example \'Person/CompanyDetails/Role\'. Only identifier types provided will be used to look up relevant entities in relations. If not applicable, provide an empty array.
* @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.
*/
getPortfolioRelations(scope: string, code: string, effectiveAt?: string, asAt?: Date, filter?: string, identifierTypes?: Array<string>, observe?: 'body', reportProgress?: boolean): Observable<ResourceListOfRelation>;
getPortfolioRelations(scope: string, code: string, effectiveAt?: string, asAt?: Date, filter?: string, identifierTypes?: Array<string>, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ResourceListOfRelation>>;
getPortfolioRelations(scope: string, code: string, effectiveAt?: string, asAt?: Date, filter?: string, identifierTypes?: Array<string>, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ResourceListOfRelation>>;
/**
* [EARLY ACCESS] GetPortfolioRelationships: Get portfolio relationships
* Get relationships for a particular portfolio.
* @param scope The scope of the portfolio.
* @param code The code of the portfolio. Together with the scope this uniquely identifies the portfolio.
* @param effectiveAt The effective datetime or cut label at which to retrieve relationships. Defaults to the current LUSID system datetime if not specified.
* @param asAt The asAt datetime at which to retrieve relationships. Defaults to returning the latest LUSID AsAt time if not specified.
* @param filter Expression to filter the relationships. Provide a null or empty string for this field until further notice.
* @param identifierTypes Identifier types (as property keys) used for referencing Persons or Legal Entities. These can be specified from the \'Person\' or \'LegalEntity\' domains and have the format {domain}/{scope}/{code}, for example \'Person/CompanyDetails/Role\'. An Empty array may be used to return all related 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.
*/
getPortfolioRelationships(scope: string, code: string, effectiveAt?: string, asAt?: Date, filter?: string, identifierTypes?: Array<string>, observe?: 'body', reportProgress?: boolean): Observable<ResourceListOfRelationship>;
getPortfolioRelationships(scope: string, code: string, effectiveAt?: string, asAt?: Date, filter?: string, identifierTypes?: Array<string>, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ResourceListOfRelationship>>;
getPortfolioRelationships(scope: string, code: string, effectiveAt?: string, asAt?: Date, filter?: string, identifierTypes?: Array<string>, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ResourceListOfRelationship>>;
/**
* [EARLY ACCESS] GetPortfolioReturns: Get Returns
* Get Returns which are on the specified portfolio.
* @param scope The scope of the Portfolio.
* @param code The code of the Portfolio.
* @param returnScope The scope of the Returns.
* @param returnCode The code of the Returns.
* @param fromEffectiveAt The start date from which to get the Returns.
* @param toEffectiveAt The end date from which to get the Returns.
* @param period Show the Returns on a Daily or Monthly period. Defaults to Daily.
* @param asAt The asAt datetime at which to retrieve the Returns. Defaults to the latest.
* @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.
*/
getPortfolioReturns(scope: string, code: string, returnScope: string, returnCode: string, fromEffectiveAt?: string, toEffectiveAt?: string, period?: string, asAt?: Date, observe?: 'body', reportProgress?: boolean): Observable<ResourceListOfPerformanceReturn>;
getPortfolioReturns(scope: string, code: string, returnScope: string, returnCode: string, fromEffectiveAt?: string, toEffectiveAt?: string, period?: string, asAt?: Date, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ResourceListOfPerformanceReturn>>;
getPortfolioReturns(scope: string, code: string, returnScope: string, returnCode: string, fromEffectiveAt?: string, toEffectiveAt?: string, period?: string, asAt?: Date, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ResourceListOfPerformanceReturn>>;
/**
* [EARLY ACCESS] GetPortfoliosAccessMetadataByKey: Get an entry identified by a metadataKey in the access metadata object
* Get a specific portfolio access metadata rule by specifying the corresponding identifier parts No matching will be performed through this endpoint. To retrieve a rule, it is necessary to specify, exactly, the identifier of the rule
* @param scope The scope of the Portfolio Access Metadata Rule to retrieve.
* @param code The code of the portfolio
* @param metadataKey Key of the metadata to retrieve
* @param effectiveAt The effective date of the rule
* @param asAt The asAt datetime at which to retrieve the portfolio access metadata.
* @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.
*/
getPortfoliosAccessMetadataByKey(scope: string, code: string, metadataKey: string, effectiveAt?: string, asAt?: Date, observe?: 'body', reportProgress?: boolean): Observable<Array<AccessMetadataValue>>;
getPortfoliosAccessMetadataByKey(scope: string, code: string, metadataKey: string, effectiveAt?: string, asAt?: Date, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<Array<AccessMetadataValue>>>;
getPortfoliosAccessMetadataByKey(scope: string, code: string, metadataKey: string, effectiveAt?: string, asAt?: Date, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<Array<AccessMetadataValue>>>;
/**
* [EARLY ACCESS] ListPortfolioProperties: Get portfolio properties
* List all the properties of a particular portfolio.
* @param scope The scope of the portfolio.
* @param code The code of the portfolio. Together with the scope this uniquely identifies the portfolio.
* @param effectiveAt The effective datetime or cut label at which to list the portfolio\'s properties. Defaults to the current LUSID system datetime if not specified.
* @param asAt The asAt datetime at which to list the portfolio\'s properties. Defaults to returning the latest version of each property if not specified.
* @param page The pagination token to use to continue listing commands; this value is returned from the previous call.
* @param limit When paginating, limit the results per page to this number.
* @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.
*/
listPortfolioProperties(scope: string, code: string, effectiveAt?: string, asAt?: Date, page?: string, limit?: number, observe?: 'body', reportProgress?: boolean): Observable<ResourceListOfProperty>;
listPortfolioProperties(scope: string, code: string, effectiveAt?: string, asAt?: Date, page?: string, limit?: number, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ResourceListOfProperty>>;
listPortfolioProperties(scope: string, code: string, effectiveAt?: string, asAt?: Date, page?: string, limit?: number, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ResourceListOfProperty>>;
/**
* ListPortfolios: List portfolios
* List all the portfolios matching particular criteria.
* @param effectiveAt The effective datetime or cut label at which to list the portfolios. Defaults to the current LUSID system datetime if not specified.
* @param asAt The asAt datetime at which to list the portfolios. Defaults to returning the latest version of each portfolio if not specified.
* @param page The pagination token to use to continue listing portfolios; 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 transaction type, specify \"type eq \'Transaction\'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.
* @param query Expression specifying the criteria that the returned portfolios must meet. For example, to see which portfolios have holdings in instruments with a LusidInstrumentId (LUID) of \'LUID_PPA8HI6M\' or a Figi of \'BBG000BLNNH6\', specify \"instrument.identifiers in ((\'LusidInstrumentId\', \'LUID_PPA8HI6M\'), (\'Figi\', \'BBG000BLNNH6\'))\".
* @param propertyKeys A list of property keys from the \'Portfolio\' domain to decorate onto each portfolio, or from any domain that supports relationships to decorate onto related entities. These must take the format {domain}/{scope}/{code}, for example \'Portfolio/Manager/Id\'.
* @param relationshipDefinitionIds A list of relationship definitions that are used to decorate related entities onto the portfolios in the response. These must take the form {relationshipDefinitionScope}/{relationshipDefinitionCode}.
* @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.
*/
listPortfolios(effectiveAt?: string, asAt?: Date, page?: string, start?: number, limit?: number, filter?: string, query?: string, propertyKeys?: Array<string>, relationshipDefinitionIds?: Array<string>, observe?: 'body', reportProgress?: boolean): Observable<ResourceListOfPortfolio>;
listPortfolios(effectiveAt?: string, asAt?: Date, page?: string, start?: number, limit?: number, filter?: string, query?: string, propertyKeys?: Array<string>, relationshipDefinitionIds?: Array<string>, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ResourceListOfPortfolio>>;
listPortfolios(effectiveAt?: string, asAt?: Date, page?: string, start?: number, limit?: number, filter?: string, query?: string, propertyKeys?: Array<string>, relationshipDefinitionIds?: Array<string>, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ResourceListOfPortfolio>>;
/**
* ListPortfoliosForScope: List portfolios for scope
* List all the portfolios in a particular scope.
* @param scope The scope whose portfolios to list.
* @param effectiveAt The effective datetime or cut label at which to list the portfolios. Defaults to the current LUSID system datetime if not specified.
* @param asAt The asAt datetime at which to list the portfolios. Defaults to returning the latest version of each portfolio if not specified.
* @param page The pagination token to use to continue listing portfolios. 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 return only transactions with a transaction type of \'Buy\', specify \"type eq \'Buy\'\". For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.
* @param propertyKeys A list of property keys from the \'Portfolio\' domain to decorate onto each portfolio, or from any domain that supports relationships to decorate onto related entities. These must take the format {domain}/{scope}/{code}, for example \'Portfolio/Manager/Id\'.
* @param relationshipDefinitionIds A list of relationship definitions that are used to decorate related entities onto the portfolios in the response. These must take the form {relationshipDefinitionScope}/{relationshipDefinitionCode}.
* @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.
*/
listPortfoliosForScope(scope: string, effectiveAt?: string, asAt?: Date, page?: string, start?: number, limit?: number, filter?: string, propertyKeys?: Array<string>, relationshipDefinitionIds?: Array<string>, observe?: 'body', reportProgress?: boolean): Observable<ResourceListOfPortfolio>;
listPortfoliosForScope(scope: string, effectiveAt?: string, asAt?: Date, page?: string, start?: number, limit?: number, filter?: string, propertyKeys?: Array<string>, relationshipDefinitionIds?: Array<string>, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ResourceListOfPortfolio>>;
listPortfoliosForScope(scope: string, effectiveAt?: string, asAt?: Date, page?: string, start?: number, limit?: number, filter?: string, propertyKeys?: Array<string>, relationshipDefinitionIds?: Array<string>, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ResourceListOfPortfolio>>;
/**
* [EARLY ACCESS] PatchPortfolio: Patch portfolio.
* Create or update certain fields for a particular portfolio. The behaviour is defined by the JSON Patch specification. Currently supported are: CreationDate, InstrumentScopes.
* @param scope The scope of the portfolio.
* @param code The code of the portfolio. Together with the scope this uniquely identifies the portfolio.
* @param operation The json patch document. For more check: https://datatracker.ietf.org/doc/html/rfc6902.
* @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.
*/
patchPortfolio(scope: string, code: string, operation: Array<Operation>, observe?: 'body', reportProgress?: boolean): Observable<ActionResultOfPortfolio>;
patchPortfolio(scope: string, code: string, operation: Array<Operation>, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ActionResultOfPortfolio>>;
patchPortfolio(scope: string, code: string, operation: Array<Operation>, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ActionResultOfPortfolio>>;
/**
* [EARLY ACCESS] PatchPortfolioAccessMetadata: Patch Access Metadata rules for a Portfolio.
* Patch Portfolio Access Metadata Rules in a single scope. The behaviour is defined by the JSON Patch specification. Currently only \'add\' is a supported operation on the patch document. Currently only valid metadata keys are supported paths on the patch document. The response will return any affected Portfolio Access Metadata rules or a failure message if unsuccessful. It is important to always check to verify success (or failure). Multiple rules for a metadataKey can exist with different effective at dates, when resources are accessed the rule that is active for the current time will be fetched.
* @param scope The scope of the Portfolio Access Metadata Rule.
* @param code Portfolio code
* @param accessMetadataOperation The Json Patch document
* @param effectiveAt The date this rule will effective from
* @param effectiveUntil The effective date until which the Access Metadata is valid. If not supplied this will be valid indefinitely, or until the next \'effectiveAt\' date of the Access Metadata
* @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.
*/
patchPortfolioAccessMetadata(scope: string, code: string, accessMetadataOperation: Array<AccessMetadataOperation>, effectiveAt?: string, effectiveUntil?: Date, observe?: 'body', reportProgress?: boolean): Observable<{
[key: string]: Array<AccessMetadataValue>;
}>;
patchPortfolioAccessMetadata(scope: string, code: string, accessMetadataOperation: Array<AccessMetadataOperation>, effectiveAt?: string, effectiveUntil?: Date, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<{
[key: string]: Array<AccessMetadataValue>;
}>>;
patchPortfolioAccessMetadata(scope: string, code: string, accessMetadataOperation: Array<AccessMetadataOperation>, effectiveAt?: string, effectiveUntil?: Date, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<{
[key: string]: Array<AccessMetadataValue>;
}>>;
/**
* UpdatePortfolio: Update portfolio
* Update the definition of a particular portfolio. Note that not all elements of a portfolio definition are modifiable due to the potential implications for data already stored.
* @param scope The scope of the portfolio.
* @param code The code of the portfolio. Together with the scope this uniquely identifies the portfolio.
* @param updatePortfolioRequest The updated portfolio definition.
* @param effectiveAt The effective datetime or cut label at which to update the definition. 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.
*/
updatePortfolio(scope: string, code: string, updatePortfolioRequest: UpdatePortfolioRequest, effectiveAt?: string, observe?: 'body', reportProgress?: boolean): Observable<Portfolio>;
updatePortfolio(scope: string, code: string, updatePortfolioRequest: UpdatePortfolioRequest, effectiveAt?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<Portfolio>>;
updatePortfolio(scope: string, code: string, updatePortfolioRequest: UpdatePortfolioRequest, effectiveAt?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<Portfolio>>;
/**
* [EARLY ACCESS] UpsertPortfolioAccessMetadata: Upsert a Portfolio Access Metadata Rule associated with specific metadataKey. This creates or updates the data in LUSID.
* Update or insert one Portfolio Access Metadata Rule in a single scope. An item will be updated if it already exists and inserted if it does not. The response will return the successfully updated or inserted Portfolio Access Metadata Rule or failure message if unsuccessful It is important to always check to verify success (or failure). Multiple rules for a metadataKey can exists with different effective at dates, when resources are accessed the rule that is active for the current time will be fetched
* @param scope The scope to use when updating or inserting the Portfolio Access Metadata Rule.
* @param code Portfolio code
* @param metadataKey Key of the access metadata to upsert
* @param upsertPortfolioAccessMetadataRequest The Portfolio Access Metadata Rule to update or insert
* @param effectiveAt The date this rule will effective from
* @param effectiveUntil The effective date until which the Access Metadata is valid. If not supplied this will be valid indefinitely, or until the next \'effectiveAt\' date of the Access Metadata
* @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.
*/
upsertPortfolioAccessMetadata(scope: string, code: string, metadataKey: string, upsertPortfolioAccessMetadataRequest: UpsertPortfolioAccessMetadataRequest, effectiveAt?: string, effectiveUntil?: Date, observe?: 'body', reportProgress?: boolean): Observable<ResourceListOfAccessMetadataValueOf>;
upsertPortfolioAccessMetadata(scope: string, code: string, metadataKey: string, upsertPortfolioAccessMetadataRequest: UpsertPortfolioAccessMetadataRequest, effectiveAt?: string, effectiveUntil?: Date, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ResourceListOfAccessMetadataValueOf>>;
upsertPortfolioAccessMetadata(scope: string, code: string, metadataKey: string, upsertPortfolioAccessMetadataRequest: UpsertPortfolioAccessMetadataRequest, effectiveAt?: string, effectiveUntil?: Date, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ResourceListOfAccessMetadataValueOf>>;
/**
* UpsertPortfolioProperties: Upsert portfolio properties
* Create or update one or more properties for a particular portfolio. A property is updated if it already exists and created if it does not. All properties must be from the \'Portfolio\' domain. Properties have an <i>effectiveFrom</i> datetime from which the property is valid, and an <i>effectiveUntil</i> datetime until which it is valid. Not supplying an <i>effectiveUntil</i> datetime results in the property being valid indefinitely, or until the next <i>effectiveFrom</i> datetime of the property.
* @param scope The scope of the portfolio.
* @param code The code of the portfolio. Together with the scope this uniquely identifies the portfolio.
* @param requestBody The properties to be created or updated. Each property in the request must be keyed by its unique property key. This has the format {domain}/{scope}/{code}, for example \'Portfolio/Manager/Id\'.
* @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.
*/
upsertPortfolioProperties(scope: string, code: string, requestBody: {
[key: string]: Property;
}, observe?: 'body', reportProgress?: boolean): Observable<PortfolioProperties>;
upsertPortfolioProperties(scope: string, code: string, requestBody: {
[key: string]: Property;
}, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<PortfolioProperties>>;
upsertPortfolioProperties(scope: string, code: string, requestBody: {
[key: string]: Property;
}, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<PortfolioProperties>>;
/**
* [EARLY ACCESS] UpsertPortfolioReturns: Upsert Returns
* Update or insert returns into the specified portfolio.
* @param scope The scope of the Portfolio.
* @param code The code of the Portfolio.
* @param returnScope The scope of the Returns.
* @param returnCode The code of the Returns.
* @param performanceReturn This contains the Returns which need to be 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.
*/
upsertPortfolioReturns(scope: string, code: string, returnScope: string, returnCode: string, performanceReturn: Array<PerformanceReturn>, observe?: 'body', reportProgress?: boolean): Observable<UpsertReturnsResponse>;
upsertPortfolioReturns(scope: string, code: string, returnScope: string, returnCode: string, performanceReturn: Array<PerformanceReturn>, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<UpsertReturnsResponse>>;
upsertPortfolioReturns(scope: string, code: string, returnScope: string, returnCode: string, performanceReturn: Array<PerformanceReturn>, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<UpsertReturnsResponse>>;
static ɵfac: i0.ɵɵFactoryDef<PortfoliosService, [null, { optional: true; }, { optional: true; }]>;
static ɵprov: i0.ɵɵInjectableDef<PortfoliosService>;
}