import { SDK_Base } from 'sdk/client/base';
import { SDK_Execution } from 'sdk/interfaces/sdk-execution';
import { SDK_UpdateLender_Body_Dto, SDK_UpdateLender_Response } from './types';
import { SDK_Context } from 'sdk/client/client';
/**
 * SDK class to update a lender's information.
 */
export declare class SDK_Lenders_Update extends SDK_Base implements SDK_Execution {
    private lenderId;
    private payload;
    constructor(ctx: SDK_Context, lenderId: number, payload?: SDK_UpdateLender_Body_Dto);
    /**
     * Sets the lender's name.
     * @param name - The name to assign to the lender.
     * @example
     * sdk.withName('Vontive Lending');
     */
    withName(name: string): this;
    /**
     * Sets bridge loan loan-to-purchase-price ratio.
     * @param value - A number like 0.85 for 85%.
     * @example
     * sdk.withBridgeLoanLoanToPurchasePrice(0.85);
     */
    withBridgeLoanLoanToPurchasePrice(value: number): this;
    /**
     * Sets bridge loan loan-to-refinance-cost ratio.
     * @param value - A number like 1.0 for 100%.
     * @example
     * sdk.withBridgeLoanLoanToRefinanceCost(1.0);
     */
    withBridgeLoanLoanToRefinanceCost(value: number): this;
    /**
     * Sets bridge loan loan-to-cost ratio.
     * @param value - A number like 0.85 for 85%.
     * @example
     * sdk.withBridgeLoanLoanToCost(0.85);
     */
    withBridgeLoanLoanToCost(value: number): this;
    /**
     * Sets bridge loan loan-to-as-is-value ratio.
     * @param value - A number like 0.85 for 85%.
     * @example
     * sdk.withBridgeLoanLoanToAsIs(0.85);
     */
    withBridgeLoanLoanToAsIs(value: number): this;
    /**
     * Sets bridge loan loan-to-after-repair-value (ARV) ratio.
     * @param value - A number like 0.7 for 70%.
     * @example
     * sdk.withBridgeLoanLoanToArv(0.7);
     */
    withBridgeLoanLoanToArv(value: number): this;
    /**
     * Sets bridge loan interest rate.
     * @param value - A number like 0.11 for 11%.
     * @example
     * sdk.withBridgeLoanInterestRate(0.11);
     */
    withBridgeLoanInterestRate(value: number): this;
    /**
     * Sets long-term rate & term interest rate.
     * @param value - A number like 0.08 for 8%.
     * @example
     * sdk.withLongTermRateAndTermInterestRate(0.08);
     */
    withLongTermRateAndTermInterestRate(value: number): this;
    /**
     * Sets long-term cash-out interest rate.
     * @param value - A number like 0.09 for 9%.
     * @example
     * sdk.withLongTermCashOutInterestRate(0.09);
     */
    withLongTermCashOutInterestRate(value: number): this;
    /**
     * Sets long-term rate & term loan-to-value (LTV).
     * @param value - A number like 0.75 for 75%.
     * @example
     * sdk.withLongTermRateAndTermLoanToValue(0.75);
     */
    withLongTermRateAndTermLoanToValue(value: number): this;
    /**
     * Sets long-term cash-out loan-to-value (LTV).
     * @param value - A number like 0.70 for 70%.
     * @example
     * sdk.withLongTermCashOutLoanToValue(0.7);
     */
    withLongTermCashOutLoanToValue(value: number): this;
    /**
     * Sets the lender's origination points.
     * @param value - A number like 0.02 for 2%.
     * @example
     * sdk.withOriginationPoints(0.02);
     */
    withOriginationPoints(value: number): this;
    /**
     * Sets the lender's loan processing fee.
     * @param value - The fee amount, e.g., 1495.
     * @example
     * sdk.withLoanProcessingFee(1495);
     */
    withLoanProcessingFee(value: number): this;
    /**
     * Executes the update request.
     * @returns A promise resolving to the updated lender response.
     * @example
     * await sdk.execute();
     */
    execute(): Promise<SDK_UpdateLender_Response>;
    private clonePayload;
    private resetPayload;
}
