import { CredifyClass } from "./common"; import { EvaluatedOffersList, EvaluationResult, GetOffersRequest, OfferData, OfferTransactionStatusUpdateRequest, QueryProductsRequest, SimulationRequest } from "@credify/api-docs/apiClients/integration-v2"; import { Claims, OfferCondition } from "../types"; export declare class Offer extends CredifyClass { /** * Gets a list of offers after filtering for a specific user. * @param request - GetOffersRequest. */ getList(request: GetOffersRequest): Promise; /** * Updates a status of an offer transaction * @param id - ID of offer approval * @param request - OfferTransactionStatusUpdateRequest * @returns Promise */ updateStatus(id: string, request: OfferTransactionStatusUpdateRequest): Promise; /** * Gets a detail of a specified offer * @param offerCode * @returns Offer detail info */ getOfferDetail(offerCode: string): Promise; /** * Evaluate offer conditions based on scope definitions and user's claims. * @param conditions Offer conditions to evaluate * @param requiredCustomScopes Required custom scopes for each levels * @param userClaims Value of user claims to evaluate against * @returns evaluation result */ evaluateOffer(conditions: OfferCondition[] | any[] | null, requiredCustomScopes: string[][] | any[] | null, userClaims: Claims | null): EvaluationResult; /** * get simulation * @param productType - type of product * @param request - SimulationRequest * @returns Promise */ simulate(productType: string, request: SimulationRequest): Promise; /** * query product * @param request - QueryProductsRequest * @returns Promise */ queryProduct(request: QueryProductsRequest): Promise; /** * update claims value * @param id - individual id (or credify id) * @param claimTokens - list of JWT token * @returns Promise */ updateClaimsValue(id: string, claimTokens: Array): Promise; /** * Query products * @param request - QueryProductsRequest * @returns Promise */ queryProducts(request: QueryProductsRequest): Promise; }