import { HttpClient, HttpHeaders, HttpResponse, HttpEvent, HttpParameterCodec, HttpContext } from '@angular/common/http'; import { Observable } from 'rxjs'; import { CompleteRelation } from '../model/models'; import { CreateRelationRequest } from '../model/models'; import { DeleteRelationRequest } from '../model/models'; import { DeletedEntityResponse } from '../model/models'; import { Configuration } from '../configuration'; import * as i0 from "@angular/core"; export declare class RelationsService { protected httpClient: HttpClient; protected basePath: string; defaultHeaders: HttpHeaders; configuration: Configuration; encoder: HttpParameterCodec; constructor(httpClient: HttpClient, basePath: string, configuration: Configuration); private addToHttpParams; private addToHttpParamsRecursive; /** * [EXPERIMENTAL] CreateRelation: Create Relation * Create a relation between two entity objects by their identifiers * @param scope The scope of the relation definition * @param code The code of the relation definition * @param createRelationRequest The details of the relation to create. * @param effectiveAt The effective datetime or cut label at which the relation should be effective from. 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. */ createRelation(scope: string, code: string, createRelationRequest: CreateRelationRequest, effectiveAt?: string, observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json'; context?: HttpContext; }): Observable; createRelation(scope: string, code: string, createRelationRequest: CreateRelationRequest, effectiveAt?: string, observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json'; context?: HttpContext; }): Observable>; createRelation(scope: string, code: string, createRelationRequest: CreateRelationRequest, effectiveAt?: string, observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json'; context?: HttpContext; }): Observable>; /** * [EXPERIMENTAL] DeleteRelation: Delete a relation * Delete a relation between two entity objects represented by their identifiers * @param scope The scope of the relation definition * @param code The code of the relation definition * @param deleteRelationRequest The details of the relation to delete. * @param effectiveAt The effective datetime or cut label at which the relation should the deletion be effective from. 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. */ deleteRelation(scope: string, code: string, deleteRelationRequest: DeleteRelationRequest, effectiveAt?: string, observe?: 'body', reportProgress?: boolean, options?: { httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json'; context?: HttpContext; }): Observable; deleteRelation(scope: string, code: string, deleteRelationRequest: DeleteRelationRequest, effectiveAt?: string, observe?: 'response', reportProgress?: boolean, options?: { httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json'; context?: HttpContext; }): Observable>; deleteRelation(scope: string, code: string, deleteRelationRequest: DeleteRelationRequest, effectiveAt?: string, observe?: 'events', reportProgress?: boolean, options?: { httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json'; context?: HttpContext; }): Observable>; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }