import { HttpClient, HttpHeaders, HttpResponse, HttpEvent, HttpParameterCodec, HttpContext } from '@angular/common/http';
import { Observable } from 'rxjs';
import { ComplianceRuleResponse } from '../model/complianceRuleResponse';
import { ComplianceRuleResultV2 } from '../model/complianceRuleResultV2';
import { ComplianceRuleTemplate } from '../model/complianceRuleTemplate';
import { ComplianceRunConfiguration } from '../model/complianceRunConfiguration';
import { ComplianceRunInfoV2 } from '../model/complianceRunInfoV2';
import { ComplianceTemplate } from '../model/complianceTemplate';
import { CreateComplianceTemplateRequest } from '../model/createComplianceTemplateRequest';
import { DecoratedComplianceRunSummary } from '../model/decoratedComplianceRunSummary';
import { DeletedEntityResponse } from '../model/deletedEntityResponse';
import { PagedResourceListOfComplianceRuleResponse } from '../model/pagedResourceListOfComplianceRuleResponse';
import { PagedResourceListOfComplianceRunInfoV2 } from '../model/pagedResourceListOfComplianceRunInfoV2';
import { PagedResourceListOfComplianceTemplate } from '../model/pagedResourceListOfComplianceTemplate';
import { UpdateComplianceTemplateRequest } from '../model/updateComplianceTemplateRequest';
import { UpsertComplianceRuleRequest } from '../model/upsertComplianceRuleRequest';
import { UpsertComplianceRunSummaryRequest } from '../model/upsertComplianceRunSummaryRequest';
import { UpsertComplianceRunSummaryResult } from '../model/upsertComplianceRunSummaryResult';
import { Configuration } from '../configuration';
import * as i0 from "@angular/core";
export interface CreateComplianceTemplateRequestParams {
    /** The scope of the Compliance Rule Template. */
    scope: string;
    /** Request to create a compliance rule template. */
    createComplianceTemplateRequest: CreateComplianceTemplateRequest;
}
export interface DeleteComplianceRuleRequestParams {
    /** The compliance rule\&#39;s scope. */
    scope: string;
    /** The compliance rule\&#39;s code. */
    code: string;
}
export interface DeleteComplianceTemplateRequestParams {
    /** The scope of the template to be deleted. */
    scope: string;
    /** The code of the template to be deleted. */
    code: string;
}
export interface GetComplianceRuleRequestParams {
    /** The compliance rule\&#39;s scope. */
    scope: string;
    /** The compliance rule\&#39;s code. */
    code: string;
    /** Optional. Asat time for query. */
    asAt?: string;
    /** A list of property keys from the \&#39;Compliance\&#39; domain to decorate onto the rule.              These must take the format {domain}/{scope}/{code}, for example \&#39;Compliance/live/UCITS\&#39;. */
    propertyKeys?: Array<string>;
}
export interface GetComplianceRuleResultRequestParams {
    /** Required: Run Scope. */
    runScope: string;
    /** Required: Run Code. */
    runCode: string;
    /** Required: Rule Scope. */
    ruleScope: string;
    /** Required: Rule Code. */
    ruleCode: string;
}
export interface GetComplianceTemplateRequestParams {
    /** Scope of TemplateID */
    scope: string;
    /** Code of TemplateID */
    code: string;
    /** Optional. The time at which to get results from. Default : latest */
    asAt?: string;
}
export interface GetDecoratedComplianceRunSummaryRequestParams {
    /** Required: Run Scope. */
    scope: string;
    /** Required: Run Code. */
    code: string;
}
export interface ListComplianceRulesRequestParams {
    /** Optional. Asat time. */
    asAt?: string;
    /** Optional. Pagination token. */
    page?: string;
    /** Optional. Entries per page. */
    limit?: number;
    /** Optional. Filter. */
    filter?: string;
    /** A list of property keys from the \&#39;Compliance\&#39; domain to decorate onto each rule.              These must take the format {domain}/{scope}/{code}, for example \&#39;Compliance/live/UCITS\&#39;. If not provided will return all the entitled properties for each rule. */
    propertyKeys?: Array<string>;
}
export interface ListComplianceRunsRequestParams {
    /** Optional. The time at which to get results from. Default : latest */
    asAt?: string;
    /** Optional. The pagination token to use to continue listing compliance runs from a previous call to list compliance runs.              This value is returned from the previous call. If a pagination token is provided the sortBy, filter, and asAt fields              must not have changed since the original request. */
    page?: string;
    /** Optional. When paginating, limit the number of returned results to this many. */
    limit?: number;
    /** Optional. Expression to filter the result set. Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid. */
    filter?: string;
    /** Optional. A list of field names to sort by, each suffixed by \&quot;ASC\&quot; or \&quot;DESC\&quot; */
    sortBy?: Array<string>;
}
export interface ListComplianceTemplatesRequestParams {
    /** Optional. The time at which to get results from. Default : latest */
    asAt?: string;
    /** Optional. The pagination token to use to continue listing compliance runs from a previous call to list compliance runs.              This value is returned from the previous call. If a pagination token is provided the sortBy, filter, and asAt fields              must not have changed since the original request. */
    page?: string;
    /** Optional. When paginating, limit the number of returned results to this many. */
    limit?: number;
    /** Optional. Expression to filter the result set. Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid. */
    filter?: string;
}
export interface RunComplianceRequestParams {
    /** Required: Scope to save the run results in. */
    runScope: string;
    /** Required: Scope from which to select rules to be run. */
    ruleScope: string;
    /** Required: Boolean flag indicating if a run should be PreTrade (Including orders). For post-trade only, set to false */
    isPreTrade: boolean;
    /** Required: the scope of the recipe to be used */
    recipeIdScope: string;
    /** Required: The code of the recipe to be used. If left blank, the default recipe will be used. */
    recipeIdCode: string;
}
export interface RunCompliancePreviewRequestParams {
    /** Required: Scope to save the run results in. */
    runScope: string;
    /** Required: Scope from which to select rules to be run. */
    ruleScope: string;
    /** Required: the scope of the recipe to be used */
    recipeIdScope: string;
    /** Required: The code of the recipe to be used. If left blank, the default recipe will be used. */
    recipeIdCode: string;
    /** Configuration options for the compliance run. */
    complianceRunConfiguration?: ComplianceRunConfiguration;
}
export interface UpdateComplianceTemplateRequestParams {
    /** The scope of the Compliance Rule Template. */
    scope: string;
    /** The code of the Compliance Rule Template. */
    code: string;
    /** Request to update a compliance rule template. */
    updateComplianceTemplateRequest: UpdateComplianceTemplateRequest;
}
export interface UpsertComplianceRuleRequestParams {
    upsertComplianceRuleRequest?: UpsertComplianceRuleRequest;
}
export interface UpsertComplianceRunSummaryRequestParams {
    upsertComplianceRunSummaryRequest?: UpsertComplianceRunSummaryRequest;
}
export declare class ComplianceService {
    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] CreateComplianceTemplate: Create a Compliance Rule Template
     * Use this endpoint to create a compliance template.
     * @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.
     */
    createComplianceTemplate(requestParameters?: CreateComplianceTemplateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<ComplianceRuleTemplate>;
    createComplianceTemplate(requestParameters?: CreateComplianceTemplateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<ComplianceRuleTemplate>>;
    createComplianceTemplate(requestParameters?: CreateComplianceTemplateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<ComplianceRuleTemplate>>;
    /**
     * [EARLY ACCESS] DeleteComplianceRule: Delete compliance rule.
     * Use this endpoint to delete a compliance rule. The rule will be recoverable for asat times earlier than the  delete time, but will otherwise appear to have never existed.
     * @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.
     */
    deleteComplianceRule(requestParameters?: DeleteComplianceRuleRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<DeletedEntityResponse>;
    deleteComplianceRule(requestParameters?: DeleteComplianceRuleRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<DeletedEntityResponse>>;
    deleteComplianceRule(requestParameters?: DeleteComplianceRuleRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<DeletedEntityResponse>>;
    /**
     * [EARLY ACCESS] DeleteComplianceTemplate: Delete a ComplianceRuleTemplate
     * Delete the compliance rule template uniquely defined by the scope and code.
     * @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.
     */
    deleteComplianceTemplate(requestParameters?: DeleteComplianceTemplateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<DeletedEntityResponse>;
    deleteComplianceTemplate(requestParameters?: DeleteComplianceTemplateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<DeletedEntityResponse>>;
    deleteComplianceTemplate(requestParameters?: DeleteComplianceTemplateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<DeletedEntityResponse>>;
    /**
     * [EARLY ACCESS] GetComplianceRule: Get compliance rule.
     * Use this endpoint to retrieve a single compliance rule.
     * @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.
     */
    getComplianceRule(requestParameters?: GetComplianceRuleRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<ComplianceRuleResponse>;
    getComplianceRule(requestParameters?: GetComplianceRuleRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<ComplianceRuleResponse>>;
    getComplianceRule(requestParameters?: GetComplianceRuleRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<ComplianceRuleResponse>>;
    /**
     * [EARLY ACCESS] GetComplianceRuleResult: Get detailed results for a specific rule within a compliance run.
     * Specify a run scope and code from a previously run compliance check, and the scope and code of a rule within that run, to get detailed results for that rule.
     * @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.
     */
    getComplianceRuleResult(requestParameters?: GetComplianceRuleResultRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<ComplianceRuleResultV2>;
    getComplianceRuleResult(requestParameters?: GetComplianceRuleResultRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<ComplianceRuleResultV2>>;
    getComplianceRuleResult(requestParameters?: GetComplianceRuleResultRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<ComplianceRuleResultV2>>;
    /**
     * [EARLY ACCESS] GetComplianceTemplate: Get the requested compliance template.
     * Use this endpoint to fetch a specific compliance template.
     * @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.
     */
    getComplianceTemplate(requestParameters?: GetComplianceTemplateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<ComplianceTemplate>;
    getComplianceTemplate(requestParameters?: GetComplianceTemplateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<ComplianceTemplate>>;
    getComplianceTemplate(requestParameters?: GetComplianceTemplateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<ComplianceTemplate>>;
    /**
     * [EARLY ACCESS] GetDecoratedComplianceRunSummary: Get decorated summary results for a specific compliance run.
     * Specify a run scope and code from a previously run compliance check to get an overview of result details.
     * @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.
     */
    getDecoratedComplianceRunSummary(requestParameters?: GetDecoratedComplianceRunSummaryRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<DecoratedComplianceRunSummary>;
    getDecoratedComplianceRunSummary(requestParameters?: GetDecoratedComplianceRunSummaryRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<DecoratedComplianceRunSummary>>;
    getDecoratedComplianceRunSummary(requestParameters?: GetDecoratedComplianceRunSummaryRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<DecoratedComplianceRunSummary>>;
    /**
     * [EARLY ACCESS] ListComplianceRules: List compliance rules.
     * Use this endpoint to retrieve all compliance rules, or a subset defined by an optional filter.
     * @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.
     */
    listComplianceRules(requestParameters?: ListComplianceRulesRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<PagedResourceListOfComplianceRuleResponse>;
    listComplianceRules(requestParameters?: ListComplianceRulesRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<PagedResourceListOfComplianceRuleResponse>>;
    listComplianceRules(requestParameters?: ListComplianceRulesRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<PagedResourceListOfComplianceRuleResponse>>;
    /**
     * [EARLY ACCESS] ListComplianceRuns: List historical compliance run identifiers.
     * Lists RunIds of prior compliance runs, or a subset with a filter.
     * @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.
     */
    listComplianceRuns(requestParameters?: ListComplianceRunsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<PagedResourceListOfComplianceRunInfoV2>;
    listComplianceRuns(requestParameters?: ListComplianceRunsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<PagedResourceListOfComplianceRunInfoV2>>;
    listComplianceRuns(requestParameters?: ListComplianceRunsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<PagedResourceListOfComplianceRunInfoV2>>;
    /**
     * [EARLY ACCESS] ListComplianceTemplates: List compliance templates.
     * Use this endpoint to fetch a list of all available compliance template ids, or a subset using a filter.
     * @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.
     */
    listComplianceTemplates(requestParameters?: ListComplianceTemplatesRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<PagedResourceListOfComplianceTemplate>;
    listComplianceTemplates(requestParameters?: ListComplianceTemplatesRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<PagedResourceListOfComplianceTemplate>>;
    listComplianceTemplates(requestParameters?: ListComplianceTemplatesRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<PagedResourceListOfComplianceTemplate>>;
    /**
     * [EARLY ACCESS] RunCompliance: Run a compliance check.
     * Use this endpoint to run a compliance check using rules from a specific scope.
     * @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.
     */
    runCompliance(requestParameters?: RunComplianceRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<ComplianceRunInfoV2>;
    runCompliance(requestParameters?: RunComplianceRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<ComplianceRunInfoV2>>;
    runCompliance(requestParameters?: RunComplianceRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<ComplianceRunInfoV2>>;
    /**
     * [EARLY ACCESS] RunCompliancePreview: Run a compliance check.
     * Use this endpoint to run a compliance check using rules from a specific scope.
     * @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.
     */
    runCompliancePreview(requestParameters?: RunCompliancePreviewRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<ComplianceRunInfoV2>;
    runCompliancePreview(requestParameters?: RunCompliancePreviewRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<ComplianceRunInfoV2>>;
    runCompliancePreview(requestParameters?: RunCompliancePreviewRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<ComplianceRunInfoV2>>;
    /**
     * [EARLY ACCESS] UpdateComplianceTemplate: Update a ComplianceRuleTemplate
     * Use this endpoint to update a specified compliance template.
     * @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.
     */
    updateComplianceTemplate(requestParameters?: UpdateComplianceTemplateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<ComplianceRuleTemplate>;
    updateComplianceTemplate(requestParameters?: UpdateComplianceTemplateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<ComplianceRuleTemplate>>;
    updateComplianceTemplate(requestParameters?: UpdateComplianceTemplateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<ComplianceRuleTemplate>>;
    /**
     * [EARLY ACCESS] UpsertComplianceRule: Upsert a compliance rule.
     * Use this endpoint to upsert a single compliance rule. The template and variation specified must already  exist, as must the portfolio group. The parameters passed must match those required by the template variation.
     * @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.
     */
    upsertComplianceRule(requestParameters?: UpsertComplianceRuleRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<ComplianceRuleResponse>;
    upsertComplianceRule(requestParameters?: UpsertComplianceRuleRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<ComplianceRuleResponse>>;
    upsertComplianceRule(requestParameters?: UpsertComplianceRuleRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<ComplianceRuleResponse>>;
    /**
     * [EARLY ACCESS] UpsertComplianceRunSummary: Upsert a compliance run summary.
     * Use this endpoint to upsert a compliance run result summary.
     * @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.
     */
    upsertComplianceRunSummary(requestParameters?: UpsertComplianceRunSummaryRequestParams, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<UpsertComplianceRunSummaryResult>;
    upsertComplianceRunSummary(requestParameters?: UpsertComplianceRunSummaryRequestParams, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpResponse<UpsertComplianceRunSummaryResult>>;
    upsertComplianceRunSummary(requestParameters?: UpsertComplianceRunSummaryRequestParams, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain' | 'application/json' | 'text/json';
        context?: HttpContext;
        transferCache?: boolean;
    }): Observable<HttpEvent<UpsertComplianceRunSummaryResult>>;
    static ɵfac: i0.ɵɵFactoryDeclaration<ComplianceService, [null, { optional: true; }, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<ComplianceService>;
}
