import { HttpClient, HttpHeaders, HttpResponse, HttpEvent, HttpParameterCodec, HttpContext } from '@angular/common/http';
import { Observable } from 'rxjs';
import { BatchUpsertPropertyDefinitionPropertiesResponse } from '../model/batchUpsertPropertyDefinitionPropertiesResponse';
import { CreateDerivedPropertyDefinitionRequest } from '../model/createDerivedPropertyDefinitionRequest';
import { CreatePropertyDefinitionRequest } from '../model/createPropertyDefinitionRequest';
import { DeletedEntityResponse } from '../model/deletedEntityResponse';
import { PagedResourceListOfPropertyDefinition } from '../model/pagedResourceListOfPropertyDefinition';
import { Property } from '../model/property';
import { PropertyDefinition } from '../model/propertyDefinition';
import { ResourceListOfPropertyDefinition } from '../model/resourceListOfPropertyDefinition';
import { ResourceListOfPropertyInterval } from '../model/resourceListOfPropertyInterval';
import { UpdateDerivedPropertyDefinitionRequest } from '../model/updateDerivedPropertyDefinitionRequest';
import { UpdatePropertyDefinitionRequest } from '../model/updatePropertyDefinitionRequest';
import { Configuration } from '../configuration';
import * as i0 from "@angular/core";
export interface CreateDerivedPropertyDefinitionRequestParams {
    /** The definition of the new derived property. */
    createDerivedPropertyDefinitionRequest: CreateDerivedPropertyDefinitionRequest;
}
export interface CreatePropertyDefinitionRequestParams {
    /** The definition of the new property. */
    createPropertyDefinitionRequest: CreatePropertyDefinitionRequest;
}
export interface DeletePropertyDefinitionRequestParams {
    /** The domain of the property to be deleted. */
    domain: 'NotDefined' | 'Transaction' | 'Portfolio' | 'Holding' | 'ReferenceHolding' | 'TransactionConfiguration' | 'Instrument' | 'CutLabelDefinition' | 'Analytic' | 'PortfolioGroup' | 'Person' | 'AccessMetadata' | 'Order' | 'UnitResult' | 'MarketData' | 'ConfigurationRecipe' | 'Allocation' | 'Calendar' | 'LegalEntity' | 'InvestorRecord' | 'Placement' | 'Execution' | 'Block' | 'Participation' | 'Package' | 'OrderInstruction' | 'NextBestAction' | 'CustomEntity' | 'InstrumentEvent' | 'Account' | 'ChartOfAccounts' | 'CustodianAccount' | 'Abor' | 'AborConfiguration' | 'Fund' | 'FundConfiguration' | 'Fee' | 'Reconciliation' | 'PropertyDefinition' | 'Compliance' | 'DiaryEntry' | 'Leg' | 'DerivedValuation' | 'Timeline' | 'ClosedPeriod' | 'AddressKeyDefinition' | 'AmortisationRuleSet' | 'AnalyticsSetInventory' | 'AtomUnitResult' | 'CleardownModule' | 'ComplexMarketData' | 'ComplianceRunSummary' | 'ComplianceRule' | 'ComplianceRunInfo' | 'CorporateActionSource' | 'CounterpartyAgreement' | 'CustomEntityDefinition' | 'DataType' | 'Dialect' | 'EventHandler' | 'GeneralLedgerProfile' | 'PostingModule' | 'Quote' | 'RecipeComposer' | 'ReconciliationRunBreak' | 'ReferenceList' | 'RelationDefinition' | 'ReturnBlockIndex' | 'SRSDocument' | 'SRSIndex' | 'TransactionTemplate' | 'TransactionTemplateScope' | 'TransactionType' | 'TransactionTypeConfig' | 'TranslationScript' | 'TaskDefinition' | 'TaskInstance' | 'Worker' | 'StagingRuleSet' | 'IdentifierDefinition';
    /** The scope of the property to be deleted. */
    scope: string;
    /** The code of the property to be deleted. Together with the domain and scope this uniquely              identifies the property. */
    code: string;
}
export interface DeletePropertyDefinitionPropertiesRequestParams {
    /** The domain of the property definition to delete properties from. */
    domain: 'NotDefined' | 'Transaction' | 'Portfolio' | 'Holding' | 'ReferenceHolding' | 'TransactionConfiguration' | 'Instrument' | 'CutLabelDefinition' | 'Analytic' | 'PortfolioGroup' | 'Person' | 'AccessMetadata' | 'Order' | 'UnitResult' | 'MarketData' | 'ConfigurationRecipe' | 'Allocation' | 'Calendar' | 'LegalEntity' | 'InvestorRecord' | 'Placement' | 'Execution' | 'Block' | 'Participation' | 'Package' | 'OrderInstruction' | 'NextBestAction' | 'CustomEntity' | 'InstrumentEvent' | 'Account' | 'ChartOfAccounts' | 'CustodianAccount' | 'Abor' | 'AborConfiguration' | 'Fund' | 'FundConfiguration' | 'Fee' | 'Reconciliation' | 'PropertyDefinition' | 'Compliance' | 'DiaryEntry' | 'Leg' | 'DerivedValuation' | 'Timeline' | 'ClosedPeriod' | 'AddressKeyDefinition' | 'AmortisationRuleSet' | 'AnalyticsSetInventory' | 'AtomUnitResult' | 'CleardownModule' | 'ComplexMarketData' | 'ComplianceRunSummary' | 'ComplianceRule' | 'ComplianceRunInfo' | 'CorporateActionSource' | 'CounterpartyAgreement' | 'CustomEntityDefinition' | 'DataType' | 'Dialect' | 'EventHandler' | 'GeneralLedgerProfile' | 'PostingModule' | 'Quote' | 'RecipeComposer' | 'ReconciliationRunBreak' | 'ReferenceList' | 'RelationDefinition' | 'ReturnBlockIndex' | 'SRSDocument' | 'SRSIndex' | 'TransactionTemplate' | 'TransactionTemplateScope' | 'TransactionType' | 'TransactionTypeConfig' | 'TranslationScript' | 'TaskDefinition' | 'TaskInstance' | 'Worker' | 'StagingRuleSet' | 'IdentifierDefinition';
    /** The scope of the property definition to delete properties from. */
    scope: string;
    /** The code of the property definition to delete properties from. */
    code: string;
    /** The property keys of the properties to delete. These must take the format              {domain}/{scope}/{code} e.g \&quot;PropertyDefinition/myScope/someAttributeKey\&quot;. Each property must be from the \&quot;PropertyDefinition\&quot; domain. */
    requestBody: Array<string>;
    /** The effective datetime or cut label at which to delete time-variant properties from.              The property must exist at the specified \&#39;effectiveAt\&#39; datetime. If the \&#39;effectiveAt\&#39; is not provided or is before              the time-variant property exists then a failure is returned. Do not specify this parameter if an of the properties to delete are perpetual. */
    effectiveAt?: string;
}
export interface GetMultiplePropertyDefinitionsRequestParams {
    /** One or more property keys which identify each property that a definition should              be retrieved for. The format for each property key is {domain}/{scope}/{code}, e.g. \&#39;Portfolio/Manager/Id\&#39;. */
    propertyKeys: Array<string>;
    /** The asAt datetime at which to retrieve the property definitions. Defaults to return              the latest version of each definition if not specified. */
    asAt?: string;
    /** Expression to filter the result set.               For example, to filter on the Lifetime, use \&quot;lifeTime eq \&#39;Perpetual\&#39;\&quot;              Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid. */
    filter?: string;
    /** The effective datetime or cut label at which to list properties attached to the Property Definition.              Defaults to the current LUSID system datetime if not specified. */
    effectiveAt?: string;
}
export interface GetPropertyDefinitionRequestParams {
    /** The domain of the specified property. */
    domain: 'NotDefined' | 'Transaction' | 'Portfolio' | 'Holding' | 'ReferenceHolding' | 'TransactionConfiguration' | 'Instrument' | 'CutLabelDefinition' | 'Analytic' | 'PortfolioGroup' | 'Person' | 'AccessMetadata' | 'Order' | 'UnitResult' | 'MarketData' | 'ConfigurationRecipe' | 'Allocation' | 'Calendar' | 'LegalEntity' | 'InvestorRecord' | 'Placement' | 'Execution' | 'Block' | 'Participation' | 'Package' | 'OrderInstruction' | 'NextBestAction' | 'CustomEntity' | 'InstrumentEvent' | 'Account' | 'ChartOfAccounts' | 'CustodianAccount' | 'Abor' | 'AborConfiguration' | 'Fund' | 'FundConfiguration' | 'Fee' | 'Reconciliation' | 'PropertyDefinition' | 'Compliance' | 'DiaryEntry' | 'Leg' | 'DerivedValuation' | 'Timeline' | 'ClosedPeriod' | 'AddressKeyDefinition' | 'AmortisationRuleSet' | 'AnalyticsSetInventory' | 'AtomUnitResult' | 'CleardownModule' | 'ComplexMarketData' | 'ComplianceRunSummary' | 'ComplianceRule' | 'ComplianceRunInfo' | 'CorporateActionSource' | 'CounterpartyAgreement' | 'CustomEntityDefinition' | 'DataType' | 'Dialect' | 'EventHandler' | 'GeneralLedgerProfile' | 'PostingModule' | 'Quote' | 'RecipeComposer' | 'ReconciliationRunBreak' | 'ReferenceList' | 'RelationDefinition' | 'ReturnBlockIndex' | 'SRSDocument' | 'SRSIndex' | 'TransactionTemplate' | 'TransactionTemplateScope' | 'TransactionType' | 'TransactionTypeConfig' | 'TranslationScript' | 'TaskDefinition' | 'TaskInstance' | 'Worker' | 'StagingRuleSet' | 'IdentifierDefinition';
    /** The scope of the specified property. */
    scope: string;
    /** The code of the specified property. Together with the domain and scope this uniquely              identifies the property. */
    code: string;
    /** The asAt datetime at which to retrieve the property definition. Defaults to return              the latest version of the definition if not specified. */
    asAt?: string;
    /** The effective datetime or cut label at which to list properties attached to the Property Definition.              Defaults to the current LUSID system datetime if not specified. */
    effectiveAt?: string;
}
export interface GetPropertyDefinitionPropertyTimeSeriesRequestParams {
    /** The domain of the property definition to which the property is attached */
    domain: 'NotDefined' | 'Transaction' | 'Portfolio' | 'Holding' | 'ReferenceHolding' | 'TransactionConfiguration' | 'Instrument' | 'CutLabelDefinition' | 'Analytic' | 'PortfolioGroup' | 'Person' | 'AccessMetadata' | 'Order' | 'UnitResult' | 'MarketData' | 'ConfigurationRecipe' | 'Allocation' | 'Calendar' | 'LegalEntity' | 'InvestorRecord' | 'Placement' | 'Execution' | 'Block' | 'Participation' | 'Package' | 'OrderInstruction' | 'NextBestAction' | 'CustomEntity' | 'InstrumentEvent' | 'Account' | 'ChartOfAccounts' | 'CustodianAccount' | 'Abor' | 'AborConfiguration' | 'Fund' | 'FundConfiguration' | 'Fee' | 'Reconciliation' | 'PropertyDefinition' | 'Compliance' | 'DiaryEntry' | 'Leg' | 'DerivedValuation' | 'Timeline' | 'ClosedPeriod' | 'AddressKeyDefinition' | 'AmortisationRuleSet' | 'AnalyticsSetInventory' | 'AtomUnitResult' | 'CleardownModule' | 'ComplexMarketData' | 'ComplianceRunSummary' | 'ComplianceRule' | 'ComplianceRunInfo' | 'CorporateActionSource' | 'CounterpartyAgreement' | 'CustomEntityDefinition' | 'DataType' | 'Dialect' | 'EventHandler' | 'GeneralLedgerProfile' | 'PostingModule' | 'Quote' | 'RecipeComposer' | 'ReconciliationRunBreak' | 'ReferenceList' | 'RelationDefinition' | 'ReturnBlockIndex' | 'SRSDocument' | 'SRSIndex' | 'TransactionTemplate' | 'TransactionTemplateScope' | 'TransactionType' | 'TransactionTypeConfig' | 'TranslationScript' | 'TaskDefinition' | 'TaskInstance' | 'Worker' | 'StagingRuleSet' | 'IdentifierDefinition';
    /** The scope of the property definition to which the property is attached */
    scope: string;
    /** The code of the property definition to which the property is attached */
    code: string;
    /** The property key of the property whose history to show. This must be from the \&quot;Property Definition\&quot; domain and in the format              {domain}/{scope}/{code}, for example \&quot;PropertyDefinition/myScope/someAttributeKey\&quot;. */
    propertyKey: string;
    /** The asAt datetime at which to show the history. Defaults to the current datetime if not specified. */
    asAt?: string;
    /** Expression to filter the results. Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid. */
    filter?: string;
    /** The pagination token to use to continue listing properties from a previous call to get property time series.              This value is returned from the previous call. If a pagination token is provided the filter and asAt fields              must not have changed since the original request. */
    page?: string;
    /** When paginating, limit the number of returned results to this many. */
    limit?: number;
}
export interface ListPropertyDefinitionsRequestParams {
    /** The effective datetime or cut label at which to list the property definitions. Defaults to the current LUSID              system datetime if not specified. */
    effectiveAt?: string;
    /** The asAt datetime at which to list the property definitions. Defaults to returning the latest version              of each property definition if not specified. */
    asAt?: string;
    /** A list of property keys from the \&#39;Property Definition\&#39; domain to decorate onto              property definitions. These must take the format              {domain}/{scope}/{code} e.g \&quot;PropertyDefinition/myScope/someAttributeKey\&quot;. Each property must be from the \&quot;PropertyDefinition\&quot; domain. */
    propertyKeys?: Array<string>;
    /** The pagination token to use to continue listing property definitions; 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. */
    page?: string;
    /** When paginating, limit the results to this number. Defaults to 100 if not specified. */
    limit?: number;
    /** Expression to filter the results.              For example, to filter on the display name, specify \&quot;DisplayName eq \&#39;DisplayName\&#39;\&quot;. For more information about filtering              results, see https://support.lusid.com/knowledgebase/article/KA-01914. */
    filter?: string;
    /** A list of field names or properties to sort by, each suffixed by \&quot; ASC\&quot; or \&quot; DESC\&quot; */
    sortBy?: Array<string>;
}
export interface UpdateDerivedPropertyDefinitionRequestParams {
    /** Domain of the property definition */
    domain: 'NotDefined' | 'Transaction' | 'Portfolio' | 'Holding' | 'ReferenceHolding' | 'TransactionConfiguration' | 'Instrument' | 'CutLabelDefinition' | 'Analytic' | 'PortfolioGroup' | 'Person' | 'AccessMetadata' | 'Order' | 'UnitResult' | 'MarketData' | 'ConfigurationRecipe' | 'Allocation' | 'Calendar' | 'LegalEntity' | 'InvestorRecord' | 'Placement' | 'Execution' | 'Block' | 'Participation' | 'Package' | 'OrderInstruction' | 'NextBestAction' | 'CustomEntity' | 'InstrumentEvent' | 'Account' | 'ChartOfAccounts' | 'CustodianAccount' | 'Abor' | 'AborConfiguration' | 'Fund' | 'FundConfiguration' | 'Fee' | 'Reconciliation' | 'PropertyDefinition' | 'Compliance' | 'DiaryEntry' | 'Leg' | 'DerivedValuation' | 'Timeline' | 'ClosedPeriod' | 'AddressKeyDefinition' | 'AmortisationRuleSet' | 'AnalyticsSetInventory' | 'AtomUnitResult' | 'CleardownModule' | 'ComplexMarketData' | 'ComplianceRunSummary' | 'ComplianceRule' | 'ComplianceRunInfo' | 'CorporateActionSource' | 'CounterpartyAgreement' | 'CustomEntityDefinition' | 'DataType' | 'Dialect' | 'EventHandler' | 'GeneralLedgerProfile' | 'PostingModule' | 'Quote' | 'RecipeComposer' | 'ReconciliationRunBreak' | 'ReferenceList' | 'RelationDefinition' | 'ReturnBlockIndex' | 'SRSDocument' | 'SRSIndex' | 'TransactionTemplate' | 'TransactionTemplateScope' | 'TransactionType' | 'TransactionTypeConfig' | 'TranslationScript' | 'TaskDefinition' | 'TaskInstance' | 'Worker' | 'StagingRuleSet' | 'IdentifierDefinition';
    /** Scope of the property definition */
    scope: string;
    /** Code of the property definition */
    code: string;
    /** Information about the derived property definition being updated */
    updateDerivedPropertyDefinitionRequest: UpdateDerivedPropertyDefinitionRequest;
}
export interface UpdatePropertyDefinitionRequestParams {
    /** The domain of the property being updated. */
    domain: 'NotDefined' | 'Transaction' | 'Portfolio' | 'Holding' | 'ReferenceHolding' | 'TransactionConfiguration' | 'Instrument' | 'CutLabelDefinition' | 'Analytic' | 'PortfolioGroup' | 'Person' | 'AccessMetadata' | 'Order' | 'UnitResult' | 'MarketData' | 'ConfigurationRecipe' | 'Allocation' | 'Calendar' | 'LegalEntity' | 'InvestorRecord' | 'Placement' | 'Execution' | 'Block' | 'Participation' | 'Package' | 'OrderInstruction' | 'NextBestAction' | 'CustomEntity' | 'InstrumentEvent' | 'Account' | 'ChartOfAccounts' | 'CustodianAccount' | 'Abor' | 'AborConfiguration' | 'Fund' | 'FundConfiguration' | 'Fee' | 'Reconciliation' | 'PropertyDefinition' | 'Compliance' | 'DiaryEntry' | 'Leg' | 'DerivedValuation' | 'Timeline' | 'ClosedPeriod' | 'AddressKeyDefinition' | 'AmortisationRuleSet' | 'AnalyticsSetInventory' | 'AtomUnitResult' | 'CleardownModule' | 'ComplexMarketData' | 'ComplianceRunSummary' | 'ComplianceRule' | 'ComplianceRunInfo' | 'CorporateActionSource' | 'CounterpartyAgreement' | 'CustomEntityDefinition' | 'DataType' | 'Dialect' | 'EventHandler' | 'GeneralLedgerProfile' | 'PostingModule' | 'Quote' | 'RecipeComposer' | 'ReconciliationRunBreak' | 'ReferenceList' | 'RelationDefinition' | 'ReturnBlockIndex' | 'SRSDocument' | 'SRSIndex' | 'TransactionTemplate' | 'TransactionTemplateScope' | 'TransactionType' | 'TransactionTypeConfig' | 'TranslationScript' | 'TaskDefinition' | 'TaskInstance' | 'Worker' | 'StagingRuleSet' | 'IdentifierDefinition';
    /** The scope of the property being updated. */
    scope: string;
    /** The code of the property being updated. Together with the domain and scope this uniquely              identifies the property. */
    code: string;
    /** The updated definition of the property. */
    updatePropertyDefinitionRequest: UpdatePropertyDefinitionRequest;
}
export interface UpsertPropertyDefinitionPropertiesRequestParams {
    /** The domain of the specified property. */
    domain: 'NotDefined' | 'Transaction' | 'Portfolio' | 'Holding' | 'ReferenceHolding' | 'TransactionConfiguration' | 'Instrument' | 'CutLabelDefinition' | 'Analytic' | 'PortfolioGroup' | 'Person' | 'AccessMetadata' | 'Order' | 'UnitResult' | 'MarketData' | 'ConfigurationRecipe' | 'Allocation' | 'Calendar' | 'LegalEntity' | 'InvestorRecord' | 'Placement' | 'Execution' | 'Block' | 'Participation' | 'Package' | 'OrderInstruction' | 'NextBestAction' | 'CustomEntity' | 'InstrumentEvent' | 'Account' | 'ChartOfAccounts' | 'CustodianAccount' | 'Abor' | 'AborConfiguration' | 'Fund' | 'FundConfiguration' | 'Fee' | 'Reconciliation' | 'PropertyDefinition' | 'Compliance' | 'DiaryEntry' | 'Leg' | 'DerivedValuation' | 'Timeline' | 'ClosedPeriod' | 'AddressKeyDefinition' | 'AmortisationRuleSet' | 'AnalyticsSetInventory' | 'AtomUnitResult' | 'CleardownModule' | 'ComplexMarketData' | 'ComplianceRunSummary' | 'ComplianceRule' | 'ComplianceRunInfo' | 'CorporateActionSource' | 'CounterpartyAgreement' | 'CustomEntityDefinition' | 'DataType' | 'Dialect' | 'EventHandler' | 'GeneralLedgerProfile' | 'PostingModule' | 'Quote' | 'RecipeComposer' | 'ReconciliationRunBreak' | 'ReferenceList' | 'RelationDefinition' | 'ReturnBlockIndex' | 'SRSDocument' | 'SRSIndex' | 'TransactionTemplate' | 'TransactionTemplateScope' | 'TransactionType' | 'TransactionTypeConfig' | 'TranslationScript' | 'TaskDefinition' | 'TaskInstance' | 'Worker' | 'StagingRuleSet' | 'IdentifierDefinition';
    /** The scope of the specified property. */
    scope: string;
    /** The code of the specified property. Together with the domain and scope this uniquely */
    code: string;
    /** 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              \&#39;PropertyDefinition/Manager/Id\&#39;. */
    requestBody: {
        [key: string]: Property;
    };
    /** Whether the batch request should fail Atomically or in a Partial fashion - Allowed Values: Atomic, Partial. */
    successMode?: string;
}
export declare class PropertyDefinitionsService {
    protected httpClient: HttpClient;
    protected basePath: string;
    defaultHeaders: HttpHeaders;
    configuration: Configuration;
    encoder: HttpParameterCodec;
    constructor(httpClient: HttpClient, basePath: string | string[], configuration: Configuration);
    private addToHttpParams;
    private addToHttpParamsRecursive;
    /**
     * [EARLY ACCESS] CreateDerivedPropertyDefinition: Create derived property definition
     * Define a new derived property.
     * @param requestParameters
     * @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.
     */
    createDerivedPropertyDefinition(requestParameters?: CreateDerivedPropertyDefinitionRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<PropertyDefinition>;
    createDerivedPropertyDefinition(requestParameters?: CreateDerivedPropertyDefinitionRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<PropertyDefinition>>;
    createDerivedPropertyDefinition(requestParameters?: CreateDerivedPropertyDefinitionRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<PropertyDefinition>>;
    /**
     * CreatePropertyDefinition: Create property definition
     * Define a new property.
     * @param requestParameters
     * @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.
     */
    createPropertyDefinition(requestParameters?: CreatePropertyDefinitionRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<PropertyDefinition>;
    createPropertyDefinition(requestParameters?: CreatePropertyDefinitionRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<PropertyDefinition>>;
    createPropertyDefinition(requestParameters?: CreatePropertyDefinitionRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<PropertyDefinition>>;
    /**
     * DeletePropertyDefinition: Delete property definition
     * Delete the definition of the specified property.
     * @param requestParameters
     * @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.
     */
    deletePropertyDefinition(requestParameters?: DeletePropertyDefinitionRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<DeletedEntityResponse>;
    deletePropertyDefinition(requestParameters?: DeletePropertyDefinitionRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<DeletedEntityResponse>>;
    deletePropertyDefinition(requestParameters?: DeletePropertyDefinitionRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<DeletedEntityResponse>>;
    /**
     * [EARLY ACCESS] DeletePropertyDefinitionProperties: Delete property definition properties
     * Delete one or more properties from a single property definition. If the properties are time-variant then an effective date time from which the  properties will be deleted must be specified. If the properties are perpetual then it is invalid to specify an effective date time for deletion.
     * @param requestParameters
     * @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.
     */
    deletePropertyDefinitionProperties(requestParameters?: DeletePropertyDefinitionPropertiesRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<DeletedEntityResponse>;
    deletePropertyDefinitionProperties(requestParameters?: DeletePropertyDefinitionPropertiesRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<DeletedEntityResponse>>;
    deletePropertyDefinitionProperties(requestParameters?: DeletePropertyDefinitionPropertiesRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<DeletedEntityResponse>>;
    /**
     * GetMultiplePropertyDefinitions: Get multiple property definitions
     * Retrieve the definition of one or more specified properties.
     * @param requestParameters
     * @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.
     */
    getMultiplePropertyDefinitions(requestParameters?: GetMultiplePropertyDefinitionsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<ResourceListOfPropertyDefinition>;
    getMultiplePropertyDefinitions(requestParameters?: GetMultiplePropertyDefinitionsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<ResourceListOfPropertyDefinition>>;
    getMultiplePropertyDefinitions(requestParameters?: GetMultiplePropertyDefinitionsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<ResourceListOfPropertyDefinition>>;
    /**
     * GetPropertyDefinition: Get property definition
     * Retrieve the definition of a specified property.
     * @param requestParameters
     * @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.
     */
    getPropertyDefinition(requestParameters?: GetPropertyDefinitionRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<PropertyDefinition>;
    getPropertyDefinition(requestParameters?: GetPropertyDefinitionRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<PropertyDefinition>>;
    getPropertyDefinition(requestParameters?: GetPropertyDefinitionRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<PropertyDefinition>>;
    /**
     * [EARLY ACCESS] GetPropertyDefinitionPropertyTimeSeries: Get Property Definition Property Time Series
     * List the complete time series of a property definition property.
     * @param requestParameters
     * @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.
     */
    getPropertyDefinitionPropertyTimeSeries(requestParameters?: GetPropertyDefinitionPropertyTimeSeriesRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<ResourceListOfPropertyInterval>;
    getPropertyDefinitionPropertyTimeSeries(requestParameters?: GetPropertyDefinitionPropertyTimeSeriesRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<ResourceListOfPropertyInterval>>;
    getPropertyDefinitionPropertyTimeSeries(requestParameters?: GetPropertyDefinitionPropertyTimeSeriesRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<ResourceListOfPropertyInterval>>;
    /**
     * ListPropertyDefinitions: List property definitions
     * List all the property definitions matching particular criteria.
     * @param requestParameters
     * @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.
     */
    listPropertyDefinitions(requestParameters?: ListPropertyDefinitionsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<PagedResourceListOfPropertyDefinition>;
    listPropertyDefinitions(requestParameters?: ListPropertyDefinitionsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<PagedResourceListOfPropertyDefinition>>;
    listPropertyDefinitions(requestParameters?: ListPropertyDefinitionsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<PagedResourceListOfPropertyDefinition>>;
    /**
     * [EARLY ACCESS] UpdateDerivedPropertyDefinition: Update a pre-existing derived property definition
     * This will fail if the property definition does not exist
     * @param requestParameters
     * @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.
     */
    updateDerivedPropertyDefinition(requestParameters?: UpdateDerivedPropertyDefinitionRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<PropertyDefinition>;
    updateDerivedPropertyDefinition(requestParameters?: UpdateDerivedPropertyDefinitionRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<PropertyDefinition>>;
    updateDerivedPropertyDefinition(requestParameters?: UpdateDerivedPropertyDefinitionRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<PropertyDefinition>>;
    /**
     * UpdatePropertyDefinition: Update property definition
     * Update the definition of a specified existing property. Not all elements within a property definition  are modifiable due to the potential implications for values already stored against the property.
     * @param requestParameters
     * @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.
     */
    updatePropertyDefinition(requestParameters?: UpdatePropertyDefinitionRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<PropertyDefinition>;
    updatePropertyDefinition(requestParameters?: UpdatePropertyDefinitionRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<PropertyDefinition>>;
    updatePropertyDefinition(requestParameters?: UpdatePropertyDefinitionRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<PropertyDefinition>>;
    /**
     * UpsertPropertyDefinitionProperties: Upsert properties to a property definition
     * Create or update properties for a particular property definition
     * @param requestParameters
     * @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.
     */
    upsertPropertyDefinitionProperties(requestParameters?: UpsertPropertyDefinitionPropertiesRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<BatchUpsertPropertyDefinitionPropertiesResponse>;
    upsertPropertyDefinitionProperties(requestParameters?: UpsertPropertyDefinitionPropertiesRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<BatchUpsertPropertyDefinitionPropertiesResponse>>;
    upsertPropertyDefinitionProperties(requestParameters?: UpsertPropertyDefinitionPropertiesRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<BatchUpsertPropertyDefinitionPropertiesResponse>>;
    static ɵfac: i0.ɵɵFactoryDeclaration<PropertyDefinitionsService, [null, { optional: true; }, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<PropertyDefinitionsService>;
}
